有些测试需要互联网连接,有些则不需要。因此,它们分为两个具有不同文件名模式的测试组。如何在Rakefile下面更新,以便它们可以使用不同的rake任务单独运行?
似乎问题/答案here在这种情况下无效。
下面的rakefile运行所有测试用例,无论在命令行上调用哪些rake任务。 rake test
和rake itest
都没有按预期工作。
当前的Rakefile内容是,
require 'rake/testtask'
Rake::TestTask.new do |t|
t.test_files = FileList['test/test_*.rb']
end
Rake::TestTask.new do |t|
t.test_files = FileList['test/itest_*.rb']
end
desc "Run tests with no internet required"
task :default => :test
desc "Run tests need internet connection"
task :internet => :test
答案 0 :(得分:2)
我已经想出如何将不同的测试任务与不同的rake任务相关联。诀窍是在创建新的测试任务时添加任务名称。像这样,
Rake::TestTask.new(:default) do |t|
t.test_files = FileList['test/test_*.rb']
end
Rake::TestTask.new(:internet) do |t|
t.test_files = FileList['test/itest_*.rb']
end
desc "No internet connection required"
task :default => :test
desc "Needs internet connection"
task :internet => :test
所以rake internet
只运行需要互联网连接的测试用例。