9

背景

继承了一个 Ruby on Rails 3.1.x 项目,该项目需要一些 BDD 并测试 Javascript 代码。因此,按照说明,我添加了jasmine gem 用于 JS 测试。这可以通过rake jasmine正常工作,并为我提供可通过http://some-host.com:8888/访问的本地 Web 服务器

问题

我想做的是使用运行 Jenkins 的 CI 服务器上的测试。Jenkins 项目是使用rake jasmine:ci运行 Jasmine 的 CI 变体的命令设置的。Jenkins 构建控制台日志的输出如下:

Waiting for jasmine server on 32901...
jasmine server started.
Waiting for suite to finish in browser ...
................

Finished in 0.00454 seconds
16 examples, 0 failures
 * Stopping Xvfb :66.0 Xvfb
   ...done.

我想捕获输出;就像从 Jasmine Web 服务器页面生成的视图一样,并在构建运行时保留它。我已经尝试了明显的查看是否有-o <filename.out>选项,但没有任何成功。

有谁知道如何在 CI 实例中运行时捕获输出?它需要PhantomJS吗?

4

1 回答 1

9

我将 phantomjs 与 junit 兼容的 xml 报告器结合使用,用于茉莉花。然后我简单地使用 JUnit Jenkins 插件。

junit 记者和胶水代码可以在这里找到:

https://github.com/larrymyers/jasmine-reporters

Larry Myers 的这个 github 项目为此提供了一个很好的示例设置。它包含一个 rhino 和一个 phantomjs 设置。我只尝试了 phantomjs 部分,我真的很高兴。

于 2013-05-07T11:39:05.907 回答