Отключить тесты мокки в Visual Studio Team Services Build

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

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

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

Ответ 1

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

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

  • Добавьте задачу "npm" для установки JUnit Reporter
    • Запустите пользовательскую команду install mocha-junit-reporter
  • Добавить задачу "npm"
    • Выполнить пользовательский test -- --reporter mocha-junit-reporter команды test -- --reporter mocha-junit-reporter
    • Советы: Вы можете увеличить тайм-аут, добавив --timeout 30000 потому что агент сборки может работать медленнее, чем ваш компьютер разработчика
  • Затем добавьте задачу "Опубликовать результаты теста"
    • Установите "Формат результата теста" на "JUnit"
    • Установите флажок "Продолжить при ошибке"
    • В разделе "Параметры управления"> "Запустить эту задачу" установите для него значение "Даже если предыдущая задача не удалась, если сборка не была отменена"

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

БОНУС! Вы также можете добавить покрытие кода для своего запуска Mocha с помощью nyc (ранее известного как Istanbul)

В верхней части шагов выше:

  • Установите Стамбул локально в свой package.json
    • Запустите npm install nyc--save-dev
  • Измените ваши скрипты в package.json
    • Update { "scripts": { "test": "nyc --repoter=cobertura mocha" } }
  • Изменить задачу "npm test"
    • Выполнить пользовательский test -- --reporter mocha-junit-reporter команды test -- --reporter mocha-junit-reporter
  • Добавить задачу "Опубликовать результаты покрытия кода"
    • Установите "Инструмент покрытия кода" на "Cobertura"
    • Установите для " $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml файла" значение $(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml
    • Установите "Каталог отчетов" в $(System.DefaultWorkingDirectory)/coverage/
    • Установите флажок "Продолжить при ошибке"
    • В разделе "Параметры управления"> "Запустить эту задачу" установите для него значение "Даже если предыдущая задача не удалась, если сборка не была отменена"
  • Добавьте новую переменную сборки NPM_CONFIG_COVERAGE и установите для нее значение true

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

Ответ 2

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

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

Ответ 3

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

  • Установить инструмент node
  • Задайте аргументы $(Build.SourcesDirectory)\node_modules\jasmine-node\bin\jasmine-node --verbose test\

Мои тесты находятся в папке "test", также убедитесь, что у вас есть jasmine- node как зависимость dev введите описание изображения здесь