我想在另一个 ruby 脚本(某种引导程序脚本)中运行我的 minitest 处理程序测试。我想将我的测试结果返回给一个变量,然后我可以解析它以确保在继续之前一切都通过了。这可能吗?如果是这样,这样的语法是什么样的?
问问题
376 次
2 回答
0
您可以运行测试并捕获输出。
puts "Running foo test:"
output = `ruby -Ilib:test test/test_foo.rb`
puts output
puts "Completed foo test."
于 2013-06-28T18:53:14.757 回答
0
好的,所以我想出了如何使用 rake::test 库来做到这一点。此代码将执行一个 minitest 测试,然后从报告中读取 xml 并确定一切是否通过。
require 'rake'
require 'rake/testtask'
require 'ci/reporter/rake/minitest'
require 'xmlsimple'
Rake::TestTask.new do |t|
t.verbose = true
t.test_files = FileList['system_tests/vm_tests.rb']
end
task :test => :"ci:setup:minitest"
Rake::Task[:test].execute
results = XmlSimple.xml_in('test/reports/TEST-VMtests.xml')
if results["failures"] > 0 or results["errors"] > 0
raise "The VM Tests have resulted in failures or errors"
end
于 2013-07-29T19:32:44.883 回答