我已经安装了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输出。 我应该做什么的想法?
答案 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
希望有所帮助。