Подтвердить что ты не робот

PhantomJS "Невозможно найти переменную: require" при использовании PhantomJasmine

Я хотел бы использовать Phantomjs и Jasmine для модульного тестирования javascript. Веб-сайт Phantomjs рекомендует использовать отдельную вещь для обработки этого, в частности, PhantomJasmine. Я загрузил PhantomJasmine и запустил пример. Все прошло отлично. Затем я добавил строку var system = require('system'); в начало example_spec.js. Phantomjs теперь выдает ошибку, когда я пытаюсь запустить пример, я получаю "ReferenceError: не могу найти переменную: require". Итак, я хочу делать такие вещи, как запуск браузера, но похоже, что я не могу комбинировать синтаксис jasmine AND phantomjs. Я могу использовать только чистый jasmin, используя Phantomjs. Как использовать оба файла в одном файле? как:

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();
});
4b9b3361

Ответ 1

Это не совсем так, как вы должны его использовать. Код для управления фантомами не должен быть запутан со спецификацией жасмина и наоборот.

Вы должны разделить свои спецификации на .js файлы и создать стандартную настройку жасмина с помощью бегуна спецификации HTML, который загружает файлы spec.js и открывает этот файл HTML в phantomjs.

Другим решением является использование grunt с phantomjs и жасмином для автоматического запуска спецификаций жасмина.

https://github.com/cowboy/grunt
https://github.com/creynders/grunt-jasmine-task