Rake允许使用以下语法:
task :my_task, :arg1, :arg2 do |t, args|
puts "Args were: #{args}"
end
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这一点,但使用RSpecs SpecTask.
遗憾的是,以下情况失败:
desc "Run example with argument"
SpecTask.new('my_task'), :datafile do |t, args|
t.spec_files = FileList['*_spec.rb -datafile=#{args}']
t.spec_opts = ["-c -f specdoc"]
end
Run Code Online (Sandbox Code Playgroud)
是否可以通过SpecTask实现这一目标,还是有其他方法?
如果rspec不支持args变量,则可以将其作为命令行参数和/或来自其他位置的变量传递.
rake datafile=somevalue
@datafile = ENV["datafile"]
desc "Run example with argument"
SpecTask.new :my_task do |t|
t.spec_files = FileList["*._spec.rb -datafile=#{@datafile}"]
#... etc
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2022 次 |
| 最近记录: |