Запустите модульный тест Jest с TFS 2015

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

Когда я запускаю модульные тесты через "npm test", я получаю результаты. Однако для интеграции с 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:true

3 ответа

В продолжение ответа Мерлина вот как я реализовал публикацию результатов jest-теста И покрытие кода для сборок TFS2015 vNext (я использую шаблонный шаблон create-реагировать-приложение):

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

npm install -g jest-json-to-tap

npm install -g tap-xunit

  1. настроить jest для вывода json, изменив в package.json задачу "test" на: "test": "response-scripts test --env = jsdom --json",

  2. настроить параметры jest в package.json: "jest": { "coverReporters": ["cobertura"] }

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

а. задача "npm", команда = запуск, аргументы = тест - --coverage | Jest-Json-To-Tap | tap-xunit > TEST-result.xml

б. задача "опубликовать результаты теста", format=JUnit

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

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

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

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

Я не уверен насчет jest, но есть отличный пакет npm, который может конвертировать результаты, основанные на TAP, в формат xUnit XML, а затем вы можете опубликовать его в TFS.

Посмотрите на кран-Xunit.

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

По сути, вам нужно что-то вроде этого:

npm test | tap-xunit > results.xml

Вы передаете результаты в tap-xunit и сохраняете их в XML. Это дает вам XML в формате xUnit, который вы можете опубликовать в TFS. Если вы работаете с TFS 2015, я настоятельно рекомендую использовать сборки vNext, чтобы их было намного проще. Проверьте шаг сборки "Опубликовать результаты теста".

Если вы работаете со сборкой XAML, эта ссылка поможет вам: Юнит-тесты Javascript в Team Foundation Service с Chutzpah

Если вы работаете с vNext build, попробуйте подробно описать шаги, упомянутые с тестом Jas mine.JS (также своего рода тест JavaScript) в этом блоге.

Другие вопросы по тегам