鉴于我有一个外部文件可以控制正在运行的规范。
control.xls
test_id|description|file_path |run
1 |Test 1 |./spec/test1_spec.rb|yes
2 |Test 2 |./spec/test2_spec.rb|no
我有一个读取文件并返回file_paths数组的方法。
我想使用该数组文件来运行规范,它可以通过rake或命令行。
这甚至可能吗?
答案 0 :(得分:0)
有可能。您可以简单地编写一个自定义rake任务,其中包含读取文件的代码。然后,您可以为每个文件(RSpec::Core::RakeTask)调用RSpec Rake任务,如下所示(对于结构,这是未经测试的代码!):
require 'rake/testtask'
namespace :test do
task :spec do
test_files = ...
test_files.each do |test_file|
RSpec::Core::RakeTask.new do |task|
task.rspec_opts = test_file
end
end
end
答案 1 :(得分:0)
在stackoverflow上的另一个地方找到:Whats is the replacement for spec_files in RSpec::Core::RakeTask ? Does pattern accept array of files?
因此它接受一个文件数组,我使用FileList传递文件,并且只运行最后一个规范。
感谢输入Martin