Chciałbym użyć Phantomjs i Jasmine do testowania jednostkowego javascript. Witryna Phantomjsa poleca użycie osobnej rzeczy do obsługi tego, w szczególności PhantomJasmine. Pobrałem PhantomJasmine i uruchomiłem przykład. Wszystko poszło idealnie. Następnie dodałem linię var system = require('system');
na początek pliku example_spec.js. Phantomjs teraz zgłasza błąd, gdy próbuję uruchomić przykład, który dostaję "ReferenceError: Can not find variable: require". Tak więc chcę robić rzeczy takie jak uruchomienie przeglądarki, ale wygląda na to, że nie mogę łączyć składni jaśminu i phantomjsa. Mogę używać tylko jasminu używając Phantomjs. Jak mogę użyć obu w tym samym pliku? na przykład:PhantomJS "Nie można znaleźć zmiennej: wymagaj" podczas korzystania z PhantomJasmine
console.log('Loading a web page');
var page = new WebPage();
var url = "http://www.phantomjs.org/";
page.open(url, function (status) {
//Page is loaded!
describe("A suite", function() {
it("contains spec with an expectation", function() {
expect(true).toBe(true);
});
});
phantom.exit();
});
mam moje pliki rozdzielone. Otrzymuję ten sam błąd. Wewnętrzna treść mojego tagu head w pliku html to: gdzie plik execPage.js zawiera czysty kod phantomjs, a jaztest1 zawiera czysty kod jaśminu. Zajrzałem też do Grunta. Kolejnym był Jasmine z fantomowym js. Muszę wiedzieć, jak uruchamiać ze sobą skrypty Jasmine AND Phantomjs. tj: przejdź do strony, wykonaj jaśmin. –
Hohohodown
Myślę, że mam lepszy problem. Oto scenariusz: Mam tests.js, czyli kilka testów jaśminowych. Chcę przejść do strony google.com i sprawdzić, czy pasek wyszukiwania jest widoczny. google.com nie zawiera żadnych jaśminów. Jak mogę to zrobić? – Hohohodown
Zadzwoń do skryptu jaśminowego na stronie html, a nie przez PhantomJS. Zasadniczo konfigurujesz to dokładnie tak, jak chcesz, gdy chcesz ręcznie uruchomić testy jasmine, a następnie po prostu przekazujesz adres URL tej strony HTML do PhantomJS, aby uruchomić ją w wierszu poleceń. – Creynders