2013-03-25 19 views
0

鑑於我有一個外部文件來控制哪些規格正在運行。運行由輸入文件定義的多個規格

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數組的方法。

我想使用該文件陣列來運行規範,它可以通過耙或命令行。

這甚至可能嗎?

回答

0

這是可能的。你可以簡單地寫一個自定義的rake任務,其中包含讀取你的文件的代碼。然後,您可以調用RSpec的Rake任務爲每個文件(RSpec::Core::RakeTask)的,像這樣(的結構,這是未經測試的代碼!):

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 

您還可以有一個例子:how to write a custom rake task for RSpec?

+0

感謝您的回答,我明白您的解釋,但尚未運作。 – Vinchbr 2013-03-25 18:50:15

相關問題