10

在使用 AngularJS 构建单页应用程序时,我正在尝试将 Jasmine 测试集成到我的构建中。

我之前使用 Maven Jasmine 插件做过类似的事情,但我不喜欢将我的项目包装在 maven 中只是为了运行 Jasmine 测试。以某种方式使用 Karma(是 Testacular)似乎更清洁。

我很高兴我会从 shell 命令运行东西,我的猜测是我可以从 Bamboo 运行命令。

我的问题:

  • 我在正确的轨道上吗?
  • 我怎样才能最好地使脚本构建失败,或者 Bamboo 是否会自动识别 Karma 输出?
4

1 回答 1

8

好问题。确保 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 进行无头测试来进行单元测试。睾丸内已经有茉莉花。

对于 CI,我们遵循

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

如果你经常使用 Ant(我们确实如此),有时你只想坚持你所知道的……所以你可能想查看ANT、Windows 和 NodeJS 模块。运行节点模块(即 testacular)。

请注意,如果您在 Windows 上运行 testacular,则 testacular 的 npm install 在hiredis 模块上失败,这似乎只是 *nix 友好的。所以,到目前为止,没有它它工作得很好。

我们花了几个小时来证明所有这些工作。希望这可以帮助

- 担

于 2012-10-30T16:10:39.847 回答