Запустите модульный тест 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
настроить jest для вывода json, изменив в package.json задачу "test" на: "test": "response-scripts test --env = jsdom --json",
настроить параметры jest в package.json: "jest": { "coverReporters": ["cobertura"] }
создал сборку vNext (TFS2015v4) со следующими задачами:
а. задача "npm", команда = запуск, аргументы = тест - --coverage | Jest-Json-To-Tap | tap-xunit > TEST-result.xml
б. задача "опубликовать результаты теста", format=JUnit
с. задача "результаты покрытия открытого кода", инструмент покрытия кода =Cobertura, файл Summary =$(Build.Repository.LocalPath)\ охват \cobertura-покрытие.xml
- убедитесь, что в "Переменные" вашей сборки включена установка переменной среды "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) в этом блоге.