1

我已经安装了 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/

经过 :

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

我的詹金斯配置是:

build --> 执行 windows 批处理 cmd --> rake ci:setup:testunit test CI_REPORTS=results post-action-build --> 发布 junit 报告 --> results/*.xml (这里我有以下警告'results / *. xml' does not match anything: even 'results' not exist:)

文件夹“结果”是自己创建的吗?

最后是我的控制台输出:

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 输出。关于我应该做什么的任何想法?

4

2 回答 2

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

于 2013-03-21T10:03:15.243 回答
0

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

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

CI_REPORTS=reports rake ci:setup:testunit test

更新

这会导致 OP 出错,尽管它在大多数 shell 中都有效。为了达到同样的目的,将环境变量导出为单独的命令:

export CI_REPORTS=reports
rake ci:setup:testunit test

希望有帮助。

于 2013-03-19T09:59:56.460 回答