2015-06-11 9 views
7

Я не могу на всю жизнь найти документацию или учебник для запуска модульных тестов mocha в сборках Visual Studio Online.Отключить тесты mocha в Visual Studio Team Services Build

У меня есть приложение node.js, которое создается в VSO и развертывается в Azure. Все это чудесно работает. Я не могу понять, как запускать файлы спецификаций через процесс сборки.

Как это делается? Есть ли где-то документация, которую я пропускаю.

+0

Это не мокко, но вот пример с кармой, поэтому он должен закрыть вас. Https://blogs.msdn.microsoft.com/premier_developer/2017/05/17/integrating-angular-4-unit-tests- с-visual-studio-team-services-vsts/ –

ответ

0

Если вы настроили package.json для выполнения тестов, добавьте шаг npm, который выполняет npm run test, должен это сделать. Если вы хотите опубликовать результаты теста, вам нужно убедиться, что Mocha записывает результаты в формат, понятный Visual Studio Team Services. JUnit format - это безопасная ставка. Затем последуйте за шагом результатов публикации, который загружает результаты теста.

Вы также можете использовать Visual Studio Test Runner в сочетании с Chutzpah для запуска своих тестов, но я полагаю, что это будет много дополнительной работы по настройке и не собирается много добавлять.

+0

Я думаю, что XUnit - это более поддерживаемый формат в VSO, см. https://github.com/Microsoft/nodejstools/wiki/Test-Explorer#configuring-mocha-for-vs , – Compulim

+1

Мой плохой. Пробовал VSO, и он сказал, что результат теста XUnit XML не в правильном формате. JUnit по-прежнему лучший выбор. – Compulim

3

Предположим, у вас установлены тесты Mocha с package.json, то есть вы запускаете тесты с помощью npm test. Для получения дополнительной информации см. https://docs.npmjs.com/cli/test.

В вашем Visual Studio Online сборки/выпуска:

  • Добавить в "НПМ" задачу установить JUnit репортеру
    • Выполнить пользовательскую команду install mocha-junit-reporter
  • Добавить "НПМ" задачу
    • Выполнение пользовательской команды test -- --reporter mocha-junit-reporter
    • Советы: Вы можете увеличить время ожидания путем добавления --timeout 30000, потому что сборка агент может быть, работает медленнее, чем ваш Dev поле
  • Затем добавьте «Publish Test Results» Задача
    • Set «результат теста формат "в" JUnit "
    • Установите флажок« Продолжить при ошибке »
    • В разделе« Параметры управления »>« Запустить эту задачу »установите для него« Даже если предыдущая задача не удалась, если сборка не была отменена "

Очередь сборки, вы должны увидеть результаты испытаний Mocha в VSO-сборке.

BONUS! Вы также можете добавить покрытие кода к вашему проходу Mocha с помощью Istanbul.

На вершине выше шагов:

  • Установите Стамбул локально на ваш package.json
    • Run npm install istanbul --save-dev
  • Изменить свои скрипты в package.json
    • Update { "scripts": { "test": "istanbul test node_modules/mocha/bin/_mocha" } }
  • Изменить "тест НПМ" задачу
    • Выполнить пользовательскую команду test -- --report cobertura --report html -- --reporter mocha-junit-reporter
  • добавить "Опубликовать Code Coverage Результаты" Задача
    • Set «Code Coverage Tool "to" Cobertura "
    • Установить« Сводный файл »на $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
    • Set «Справочник Report» для $(System.DefaultWorkingDirectory)/coverage/
    • Установите флажок на «Продолжить об ошибке» «Параметры управления»
    • Под> «Выполнить эту задачу», установите его на «Даже если предыдущая задача не удалась, если сборка была отменена»
  • Добавить новые переменные сборки NPM_CONFIG_COVERAGE и установить его на true

Теперь вы получили как юнит-тесты и результаты покрытия кода в отчете сборки.

0

После совсем немного пустячный вокруг я получил его на работу, добавив «командной строки задачу» мое определение сборки, я использовал следующие параметры:

  • Набор инструментов для node
  • Set Аргументы в $(Build.SourcesDirectory)\node_modules\jasmine-node\bin\jasmine-node --verbose test\

Мои тесты находятся в папке «тест», а также убедитесь, что у вас есть жасмин-узел в качестве Dev зависимости enter image description here

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