что:
- сервер
- браузеры
- тесты
как:
- поднимается сервер (на localhost или любой машине)
- цепляются нужные браузеры (вручную или автоматически)
- прогоняются тесты (написанные с помощью jsTD или же QUnit)
- получаем результат (+ покрытие)
в официальной документации подробно рассказано о том, как запустить сервер и подключить всё, что следует. расскажу о деталях.
1. сервер
тут ничего сложного. поднимается запуском файла JsTestDriver.jar.
2. браузеры цепляются либо прописыванием полного пути до исполняемого файла в соответствующем флаге -browser "", либо заходим через нужный браузер на сервер и добровольно записываемся в рабство.
3. исполняемые тесты. jsTD понимает синтаксис QUnit после определённых махинаций:
3.1 Важно подключить QUnitAdapter до того, как подключены тесты. Например, мой .conf файл выглядит так:
server: http://localhost:4224
load:
- qUnit/equiv.js
- qUnit/qUnitAdapter.js
- src/*.js
- src-test/*.js
файлы могут лежать в любых папках, главное, прописать путь до них. В папке src-test лежат и те, и те js-ки с тестами на jstd и QUnit.
3.2 Если jstd будет ругаться на QUnit.equal(), можно добавить в qUnitAdapter следующие строчки:
window.equal = window.equals = function(a, b, msg) {
assertEquals(msg ? msg : '', b, a);
};
qUnitAdapter можно дописывать согласно собственным нуждам
3.3 Что знать о запуске.
jsTD умеет запускать testCase, test и файл с тестами. Структура тестов такая же, как в QUnit: есть модули = набор тестов, которые называются testCase.
--tests VAR: Run the tests specified by the supplied regular expression. Use '#' to denote the separation between a testcase and a test
4. codeCoverage
После подключения плагина для отчёта о покрытии получается группа xml-ников "тестовая группа - браузер", в которых содержится информация об исходе тестирования.
Вид "проекта":
- out
- plugins
- coverage.jar
- qUnit
- equiv.js
- qUnit.css
- qUnit.js
- qUnitAdapter.js
- src
- greeter.js
-src
- greeterTest.js
- greeterQUnitTest.js
- JsTestDriver.jar
- jsTestDriver.conf
Вид jsTestDriver.conf:
server: http://localhost:4224
load:
- qUnit/equiv.js
- qUnit/qUnitAdapter.js
- src/*.js
- src-test/*.js
plugin:
- name: "coverage"
jar: "plugins/coverage-1.3.4.b.jar"
module: "com.google.jstestdriver.coverage.CoverageModule"
- сервер
- браузеры
- тесты
как:
- поднимается сервер (на localhost или любой машине)
- цепляются нужные браузеры (вручную или автоматически)
- прогоняются тесты (написанные с помощью jsTD или же QUnit)
- получаем результат (+ покрытие)
в официальной документации подробно рассказано о том, как запустить сервер и подключить всё, что следует. расскажу о деталях.
1. сервер
тут ничего сложного. поднимается запуском файла JsTestDriver.jar.
2. браузеры цепляются либо прописыванием полного пути до исполняемого файла в соответствующем флаге -browser "", либо заходим через нужный браузер на сервер и добровольно записываемся в рабство.
3. исполняемые тесты. jsTD понимает синтаксис QUnit после определённых махинаций:
3.1 Важно подключить QUnitAdapter до того, как подключены тесты. Например, мой .conf файл выглядит так:
server: http://localhost:4224
load:
- qUnit/equiv.js
- qUnit/qUnitAdapter.js
- src/*.js
- src-test/*.js
файлы могут лежать в любых папках, главное, прописать путь до них. В папке src-test лежат и те, и те js-ки с тестами на jstd и QUnit.
3.2 Если jstd будет ругаться на QUnit.equal(), можно добавить в qUnitAdapter следующие строчки:
window.equal = window.equals = function(a, b, msg) {
assertEquals(msg ? msg : '', b, a);
};
qUnitAdapter можно дописывать согласно собственным нуждам
3.3 Что знать о запуске.
jsTD умеет запускать testCase, test и файл с тестами. Структура тестов такая же, как в QUnit: есть модули = набор тестов, которые называются testCase.
--tests VAR: Run the tests specified by the supplied regular expression. Use '#' to denote the separation between a testcase and a test
4. codeCoverage
После подключения плагина для отчёта о покрытии получается группа xml-ников "тестовая группа - браузер", в которых содержится информация об исходе тестирования.
Вид "проекта":
- out
- plugins
- coverage.jar
- qUnit
- equiv.js
- qUnit.css
- qUnit.js
- qUnitAdapter.js
- src
- greeter.js
-src
- greeterTest.js
- greeterQUnitTest.js
- JsTestDriver.jar
- jsTestDriver.conf
Вид jsTestDriver.conf:
server: http://localhost:4224
load:
- qUnit/equiv.js
- qUnit/qUnitAdapter.js
- src/*.js
- src-test/*.js
plugin:
- name: "coverage"
jar: "plugins/coverage-1.3.4.b.jar"
module: "com.google.jstestdriver.coverage.CoverageModule"
Комментариев нет:
Отправить комментарий