2016-05-24 3 views
4

Кто-нибудь пытался интегрировать тесты юстинга с TFS 2015? Я попытался использовать Chutzpah Test Adapter (https://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe?SRC=VSIDE), но он не может распознать шутки. Я получаю ниже ошибки: Can't find variable JestПробный тестовый тест Jest с TFS 2015

Когда я запускаю модульные тесты через «тест npm», я получаю результаты. Однако для интеграции с TFS 2015 мне нужен тестовый бегун, который может запускать Jest-модульный тест, чтобы я мог запускать модульные тесты в сочетании с vstest.console.exe, который предоставляет TFS 2015, чтобы он мог управлять результатами сборки и публиковать результаты в сборке Сводный отчет.

Любая помощь будет оценена!

Любой тестовый бегун, который может запускать тесты с использованием команды ниже, должен работать (учитывая, что VS 2015 установлен в системе): «C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.console.exe» "\ test.js"/ UseVsixExtensions: истинный

ответ

3

Я не уверен в шутке, но есть опрятный пакет npm, который может преобразовывать результаты на основе TAP в xUnit XMLformat, а затем вы можете опубликовать это в TFS.

Посмотрите на tap-xunit.

У меня была среда сборки, где тестирование javascript выполнялось различными инструментами и фреймами (AVA, Mocha, Jasmine и т. Д.). Мы решили экспортировать их все в формат TAP, запустили их, перетащив tap-xunit, а затем опубликуем в TFS.

В принципе, вам нужно что-то вроде этого:

npm test | tap-xunit > results.xml 

конвейеру результаты ТАР-XUnit и сохранить их в формате XML. Это дает вам XML, отформатированный как xUnit, который вы можете опубликовать в TFS. Если вы используете TFS 2015, я настоятельно рекомендую использовать сборки vNext, намного проще выполнить их. Проверьте шаг сборки «Опубликовать результаты теста».

2

Расширение на Merlin's answer, вот как я реализовал результаты тестирования публикации Шутки И покрытие кода для TFS2015 vNext сборки (я использую создать реагирующий-приложение шаблонный):

Сначала установите необходимые пакеты на сервере, работаешь ваш агент по:

НПХ установить -g шутку-JSON-к-кран

НПХ установить -g кран-XUnit

  1. настроить шутку для вывода JSON, изменив в package.json задачи «тест», чтобы: «тест»: «реагировать-сценарии тестирование --env = jsdom --json»,

  2. опции конфигурирования JEST в пакете ,JSON: "шуткой": { "coverageReporters": [ "Cobertura"]}

  3. создал vNext построить (TFS2015v4) со следующими задачами:

а. Задача «npm», command = run, arguments = test - --coverage | jest-json-to-tap | tap-xunit> TEST-result.xml

b. «публикация результатов испытаний», формат = JUnit

c. задача «охват общественного кода», инструмент покрытия кода = Cobertura, итоговый файл = $ (Build.Repository.LocalPath) \ покрытие \ cobertura-coverage.xml

  1. убедитесь, что ваша сборка «Переменные» включает в себя установку переменного окружения «CI» = «истинный»

ПРИМЕЧАНИЕ: - результаты испытаний не будут включать в себя время, ни собрания - что-то продлить на будущее ...

вуаля '! Запуск этой сборки будет правильно публиковать результаты тестов и статистику покрытия кода, а также артефакты отчетов.

Смежные вопросы