Мы писали спецификации для нашей бизнес-логики JavaScript, используя Jasmine. Мы можем запустить наш тестовый пакет в браузере, но как мы будем интегрировать его в TeamCity? Предпочтительно мы не хотим использовать NodeJS, а скорее как можно проще.
Как запустить тесты Жасмина в TeamCity
Ответ 1
Я создал измененную версию run-jasmine.js
, которая находится в источниках PhantomJS (исходная версия здесь. Эта версия может использоваться в TeamCity (она автоматически обнаружит, что она запущена в TeamCity). Эта обновленная версия использует TeamCity служебные сообщения, которые позволяют провести приятную интеграцию.
Вам понадобится PhantomJS. Вам также потребуется одно из следующих действий:
- run-jasmine.js (для Jasmine 1.x).
- run-jasmine.js (для Jasmine 2.x).
Добавьте шаг сборки в конфигурацию сборки TeamCity, которая может выполнить этот шаг:
phantomjs.exe run-jasmine.js index.html
index.html
- ваша страница бегуна Жасмин. Если агенты сборки не включают PhantomJS, вы можете передать их в свой репозиторий вместе с вашими источниками (это то, что мы делаем).
Результат будет выглядеть следующим образом:
Детали теста:
Выше приведен пример Tasks образца проекта ASP.NET MVC с этой настройкой. Его можно запустить в TeamCity с помощью этапа сборки Visual Studio (sln). Он также будет запускать тесты в Visual Studio в качестве этапа предварительной сборки.