Javascript JsTestDriver Жасмин и Жасмин-jquery - PullRequest
5 голосов
/ 20 сентября 2011

У меня есть много модульных тестов Jasmine, которые запускают модульные тесты для кода Javascripts.Они используют плагин Jasmine-jquery для манипулирования DOM.они используют loadFixture, чтобы загрузить фикстуры HTML

. Я пытался автоматизировать эти модульные тесты, используя JsTestDriver, с помощью JasmineAdapter. Но все тесты, связанные с DOM-jquery, не проходят?Что-то не так с этим?Есть ли способ использовать Jasmine-jquery с JsTestDriver?

Ответы [ 3 ]

9 голосов
/ 20 сентября 2011

Я отвечу сам, потому что нашел решение этой проблемы. Проблема заключалась в том, что Jasmine-Jquery использует ajax для загрузки html-фикстуры и использует относительный путь, предполагая, что html-фиксации расположены где-то относительно HTML-контейнера, на котором выполняются тесты Jasmine. но поскольку JsTestDriver загружает тесты внутри своего собственного "пространства", нам нужно изменить местоположение, в котором Jasmine-Jquery ищет эти HTML-данные, и заставить JsTestDriver загружать их.

, поэтому решение выглядит следующим образом:

JsTestDriver имеет возможность загружать статические HTML-файлы. в конфигурационный файл добавить следующее:

Подавать: - например: Обслуживать: - светильники * .html

теперь вы можете получить доступ к ним в следующем формате HTTP: локальный: 9876 / тест / приборы / ... Вы даете знать Jasmine-jquery, чтобы загрузить приборы из этого места.

и вуаля, у вас снова будут работать тесты.

3 голосов
/ 02 ноября 2011

Просто для пояснения: предыдущая запись .

Если в вашем файле конфигурации jsTestDriver у вас есть:

serve:

spec/fixtures/*_fixture.html

Затем вам нужно переопределить ваш набор тестов с помощью

jasmine.getFixtures().fixturesPath = '/test/spec/fixtures';

, что в основном равно /test/ +, независимо от того, какой путь вы указали в разделе serve в файле конфигурации jsTestDriver.

0 голосов
/ 16 февраля 2013

Я только что выпустил набор инструментов с открытым исходным кодом, который, надеюсь, поможет другим так же, как и мне. Это набор из многих инструментов с открытым исходным кодом, который дает вам работающее базовое приложение requirejs из коробки.

У этого есть более элегантное решение, использующее текстовый плагин requirejs и плагин requirejs handlebars.

Он предоставляет команды для запуска: веб-сервер dev, тестер для одного браузера jasmine, тестер для нескольких браузеров jasmine js-test-driver и конкатенизация / минимизация для JavaScript и CSS. Он также выводит незавершенную версию вашего приложения для производственной отладки, предварительно компилирует ваши шаблоны руля и поддерживает интернационализацию. Никаких настроек не требуется. Это просто работает.

http://github.com/davidjnelson/agilejs

...