Я настроил модульное тестирование JavaScript с помощью JS Test Driver на Netbeans согласно этой ссылке . Однако, в отличие от результатов этого учебника, после проверки не выполняется больше тестов. Как я могу изменить это поведение?
Например, учитывая этот тестовый файл:
test.js
Файл:
AssertionsTestCase = TestCase("AssertionsTestCase");
AssertionsTestCase.prototype.testAlwaysPass = function(){
assertEquals(1, 1);
assertEquals(2, 2);
};
AssertionsTestCase.prototype.testAlwaysFail1 = function(){
assertEquals(1, 2);
};
AssertionsTestCase.prototype.testAlwaysFail2 = function(){
assertEquals(3, 4);
};
индикатор выполнения показывает 50% (2 теста), это должно сказать 33%.
jsTestDriver.conf
Файл:
server: http://localhost:42442
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Я могу запустить все тесты из командной строки. (В Windows PowerShell). Работая следующим образом, тесты не прекращаются после сбоя:
java -jar $ env: JSTD \ JsTestDriver-1.3.5.jar - тестирует все --config jsTestDriver.conf
jsTestDriver.conf
файл:
server: http://localhost:4244
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Все три теста запущены.
Ответы:
Похоже, в Chrome работает нормально.
Что касается Firefox, как в комментарии сказано, это не правильный ответ. Мне удалось заставить его работать частично. Вопрос в том, как netbeans обрабатывает неудачные тесты и как запускается jstestdriver.jar. Я знаю, что это не решает проблему, но она указывает в правильном направлении.
Шаги, чтобы воспроизвести это.
Так как я использую Linux. Я нашел jstestdriver.properties из папки конфигурации Netbeans для текущего пользователя. В моем случае это находится в
/home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties
Отредактируйте свойство местоположения, добавив аргументы в jstestdriver.jar --tests all --reset. После редактирования мои свойства выглядят так.
location=/home/user/Downloads/jstestdriver-1.3.5.jar --tests all --reset server.url=http://localhost:42442 strict.mode=false use.browser.ANDROID_DEVICE_CHROME=false use.browser.ANDROID_DEVICE_DEFAULT=false use.browser.ANDROID_EMULATOR_DEFAULT=false use.browser.Chrome=false use.browser.Chrome.INTEGRATED=false use.browser.SL__Browsers_FirefoxBrowser=true use.browser.SL__Browsers_MozillaBrowser=false
Повторите 2 раза.
После второго перезапуска и запуска он должен запустить все тесты, как показано на рисунке выше. Если вы можете добавить аргументы --tests all --reset для JS Test Driver в Netbeans, это должно решить проблему, чтобы работать как в Chrome.
источник