我想在另一个ruby脚本(各种类型的bootstrapper脚本)中运行我的minitest处理程序测试。我想将测试结果返回给变量,然后我可以解析该变量以确保在继续之前通过所有测试。这可能吗?如果是这样,这样的东西的语法是什么样的?
答案 0 :(得分:0)
你可以弹出来运行测试并捕获输出。
puts "Running foo test:"
output = `ruby -Ilib:test test/test_foo.rb`
puts output
puts "Completed foo test."
答案 1 :(得分:0)
好的,所以我想出了如何使用rake :: test库来做到这一点。此代码将执行最小的测试,然后从报告中啜饮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