Как я могу запустить тесты Жасмина с кармой (был Testacular) из Bamboo?

При создании одностраничного приложения с помощью AngularJS я пытаюсь интегрировать тесты Jasmine в свою сборку.

Я делал что-то подобное раньше с плагином Maven Jasmine, но мне не нравится включать мой проект в maven только для запуска тестов Jasmine. Кажется более чистым использовать Karma (был Testacular) для этого как-то.

Мне комфортно, что я получу что-то из командной строки, и я предполагаю, что тогда я могу запустить команду из Bamboo.

Мои вопросы:

  • Я на правильном пути?
  • Как я могу лучше всего выполнить сборку из script, или Bamboo автоматически распознает вывод Karma?

Ответ 1

Отличный вопрос. Убедитесь, что testacular.conf.js настроен для вывода junit xml для потребления бамбуком

junitReporter = {
  // will be resolved to basePath (in the same way as files/exclude patterns)
  outputFile: 'test-results.xml'
};

Вы можете настроить Testacular для работы со многими браузерами и предварительно настроен на использование Chrome, поэтому мы решили начать работать без гарнитуры с помощью PhantomJS для модульного тестирования. В Testacular уже есть жасмин.

Для CI мы следуем рекомендации в

// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun = true;

Если вы используете Ant много (и мы делаем), иногда вы просто хотите придерживаться того, что знаете... поэтому вы можете проверить ANT, Windows и NodeJS Modules. для запуска node модулей (т.е. testacular).

Одно замечание: если вы запускаете testacular на окнах, npm-установка testacular не выполняется на модуле hiredis, который, кажется, просто дружественный. Таким образом, он без проблем работает отлично.

Нам потребовалось пару часов, чтобы доказать все эти работы. Надеюсь, что это поможет

- дан