0

我该如何做下面的场景:(目的是能够运行我拥有的所有硒脚本,或者如果我使用以下代码和场景从终端窗口将测试文件作为参数传递,则只运行我想要的一些脚本:

如果在终端窗口中通过了测试文件,则系统将运行以下代码:

scripts = ENV[scripts].plit(',')
FileList[scripts].each { |file|
system("ruby #{file} > #{directory_name}/#{file}.out")}

如果测试文件没有通过终端窗口(这意味着我想运行我的测试套件中的所有脚本),那么系统将运行以下代码:

FileList['test*.rb'].each { |file|
system("ruby #{file} > #{directory_name}/#{file}.out")}
4

1 回答 1

2

如果我理解正确,你能用一个if语句吗?

task :default do
  if ENV[scripts]
    scripts = ENV[scripts].split(',')
    FileList[scripts].each { |file|
    system("ruby #{file} > #{directory_name}/#{file}.out")}
  else
    FileList['test*.rb'].each { |file|
    system("ruby #{file} > #{directory_name}/#{file}.out")}
  end
end
于 2013-01-06T01:02:27.583 回答