2014-01-17 4 views
15

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

ответ

13

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

Вам потребуется 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, как шаг предварительной сборки.

+1

Даниил - спасибо за сценарий и объяснение. Работал для меня почти мгновенно. 2 quirks у меня: Jasmine запускает файлы из другой папки с синтаксисом «/folder/file.js», а Phantom, по-видимому, требует «../folder/file.js». И было неясно, что Team City нужен шаг построения командной строки. –

+0

@IliaBarahovski Да, текущий рабочий каталог может отличаться от одного решения в другом, в зависимости от того, как вы настраиваете свои каталоги. Во всяком случае, приятно слышать, что вы работали! –

+0

@ DanielLidström - Спасибо за разъяснение. Но я не смог запустить тесты жасмина в teamcity. Добавлены phantomjs.exe и run-jasmine.js из ссылки, которая предоставляется там. Если возможно, укажите ссылку, если у вас есть источник выборки или ссылка GIT. –

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