ci_reporter无法生成xml输出

时间:2013-03-19 09:38:43

标签: ruby xml jenkins report

我已经安装了Ruby 2.0.0和Ruby 1.8.7,ci_reporter 1.8.4,测试单元2.5.4,rake 10.0.3和pik以便能够在我的2个ruby版本之间切换。 我正在使用Jenkins 1.501进行“自动化测试”。

这是我的rakefile:

require 'rake'
require 'rake/testtask'
require 'rake/packagetask'
gem 'ci_reporter'
gem 'test-unit' 
require 'test/unit' 
require 'ci/reporter/rake/test_unit'  #http://juretta.com/log/2008/11/11/hudson_test_drive_part_1_rails/
require 'ci/reporter/rake/rspec'

task :test do
  ruby "test/test1.rb"
end

我看到有些人通过改变来解决这个问题:

require 'test/unit' 
require 'ci/reporter/rake/test_unit' #http://juretta.com/log/2008/11/11/hudson_test_drive_part_1_rails/

by:

gem 'ci_reporter'
require 'ci/reporter/rake/test_unit_loader'

但它给了我一个错误。

我有以下文件:

require 'test/unit'

class Test1 < Test::Unit::TestCase

  def test_add
    s = 4 + 1
    assert_equal(5, s)
  end

end

我的Jenkins配置是:

构建 - &gt;执行windows batch cmd - &gt; rake ci:setup:testunit test CI_REPORTS = results post-action-build - &gt;发布junit报告 - &gt;结果/ * .xml(这里我有以下警告:'results / *. xml' does not match anything: even 'results' not exist

文件夹'results'是否由它自己创建?

最后我的控制台输出:

C:\Jenkins\jobs\Jenkins TestLink Ruby\workspace>rake ci:setup:testunit test CI_REPORTS=reports 
rm -rf reports
C:/Ruby200-x64/bin/ruby.exe test/test1.rb
Loaded suite test/test1
Started
.

Finished in 0.001 seconds.

1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

1000.00 tests/s, 1000.00 assertions/s
Recording of test results
No test report file was not found. Configuration error?
Build step 'Publish the report of the results of JUnit tests' changed build result to FAILURE
Finished: FAILURE

没有文件夹结果且没有xml输出。 我应该做什么的想法?

2 个答案:

答案 0 :(得分:1)

我用这个解决了我的问题:

  • 将以下要求添加到我的test.rb:require 'test/unit'

    require 'ci/reporter/rake/test_unit_loader' gem 'test-unit'

  • 将以下要求添加到我的rakefile.rb:require 'ci/reporter/rake/test_unit' #http://juretta.com/log/2008/11/11/hudson_test_drive_part_1_rails/

  • 使用cmd:rake CI_REPORTS=reports test

  • 执行

答案 1 :(得分:0)

首先,要回答关于reports目录的问题,应该在第一次成功运行命令后创建它。警告只是詹金斯让你知道它当时不存在。

其次,我认为您的CI报告未生成的原因是因为您的CI_REPORTS环境变量位于命令的错误位置:它应该位于行的开头,如

CI_REPORTS=reports rake ci:setup:testunit test

更新

这会导致OP出错,尽管它在大多数shell中都有效。要实现相同的目的,请将环境变量导出为单独的命令:

export CI_REPORTS=reports
rake ci:setup:testunit test

希望有所帮助。