Как запустить тесты Жасмина в TeamCity

Мы писали спецификации для нашей бизнес-логики JavaScript, используя Jasmine. Мы можем запустить наш тестовый пакет в браузере, но как мы будем интегрировать его в TeamCity? Предпочтительно мы не хотим использовать NodeJS, а скорее как можно проще.

Ответ 1

Я создал измененную версию run-jasmine.js, которая находится в источниках PhantomJS (исходная версия здесь. Эта версия может использоваться в TeamCity (она автоматически обнаружит, что она запущена в TeamCity). Эта обновленная версия использует TeamCity служебные сообщения, которые позволяют провести приятную интеграцию.

Вам понадобится PhantomJS. Вам также потребуется одно из следующих действий:

Добавьте шаг сборки в конфигурацию сборки TeamCity, которая может выполнить этот шаг:

phantomjs.exe run-jasmine.js index.html

index.html - ваша страница бегуна Жасмин. Если агенты сборки не включают PhantomJS, вы можете передать их в свой репозиторий вместе с вашими источниками (это то, что мы делаем).

Результат будет выглядеть следующим образом:

Tests Overview

Детали теста: Test Details

Выше приведен пример Tasks образца проекта ASP.NET MVC с этой настройкой. Его можно запустить в TeamCity с помощью этапа сборки Visual Studio (sln). Он также будет запускать тесты в Visual Studio в качестве этапа предварительной сборки.