Ответ 1
Итак, мне, наконец, удалось это понять.
Здесь моя сквозная реализация:
-
Установите PhantomJS (http://phantomjs.org/) - я установил это в своей папке build/tools
-
Установите PhantomJS QUnit Runner script (https://gist.github.com/1588423) - также установил это в моей папке build/tools
-
В мой файл build.xml добавлена следующая цель:
<target name="qunit" description="runs QUnit tests using PhantomJS">
<!-- QUnit Javascript Unit Tests -->
<echo message="Executing QUnit Javascript Unit Tests..."/>
<apply executable="path-to-your-phantomjs-bin-folder/phantomjs" >
<arg value="-path-to-your-build-tools/qunit-runner.js" />
<arg line="--qunit path-to-your-qunit-folder/qunit.js --tests path-to-your-test-folder --juni path-where-you-want-to-write-the-JUnit-style-output/qunit-results.xml" />
<fileset dir="${basedir}/${dir.test}" includes="tests.js" />
<srcfile/>
</apply>
</target>
-
В моей конфигурации проекта Jenkins я теперь вызываю Ant с помощью "minify qunit"
-
Я указываю Jenkins на выходной XML файл в стиле JUnit
И вот рабочий процесс:
- Проверить изменения в моем репо
- Дженкинс проведет опрос GitHub для изменений
- Если произойдут какие-либо изменения, Дженкинс потянет вниз
- Ant будет вызван, выполнит сборку, а затем запустит мои модульные тесты
- Результаты теста будут опубликованы в формате JUnit-like XML
- Дженкинс проанализирует этот выходной файл. Если тесты не удались, сборка будет отмечена как "Успех". Если какие-либо тесты не удались, сборка будет отмечена как "Нестабильная"
- Jenkins развернет веб-изменения.
- Дженкинс очистит рабочую область.
PS: На данный момент вам нужно вручную удалить выходной файл XML-типа JUnit. Я исправлю это позже.
PS: Загрузите настроенный qunit.js(https://gist.github.com/2488794)