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

我有一个读取文件并返回文件路径数组的方法。

我想使用该文件数组来运行规范,它可以通过 rake 或命令行。

这甚至可能吗?

4

2 回答 2

0

在 stackoverflow 的另一个地方找到:Whats is the replacement for spec_files in RSpec::Core::RakeTask ?模式是否接受文件数组?

所以它接受一个文件数组,我使用 FileList 来传递文件并且只运行最后一个规范。

感谢您的输入马丁

于 2013-03-25T19:22:53.297 回答
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

您还有一个示例:如何为 RSpec 编写自定义 rake 任务?

于 2013-03-25T17:39:20.547 回答