【发布时间】:2016-08-17 08:58:09
【问题描述】:
我们正在编写 serverspec ruby 脚本。
我们正在编写多个脚本,因为每个脚本都会验证应用程序的某些部分。
如何同时运行所有脚本并获得一份最终报告?
【问题讨论】:
标签: ruby rspec serverspec
我们正在编写 serverspec ruby 脚本。
我们正在编写多个脚本,因为每个脚本都会验证应用程序的某些部分。
如何同时运行所有脚本并获得一份最终报告?
【问题讨论】:
标签: ruby rspec serverspec
根据the documentation,您可以使用-m和-j [NUMBER]参数为rake任务并行执行测试。
【讨论】:
您可以修改用于执行 serverspec 测试的 Rakefile,以便脚本一起运行。在您的 Rakefile 中,您应该看到正在生成的任务是这样的代码块:
RSpec::Core::RakeTask.new(symbol)
该符号可能是 fqdn,但您可能已将其更改为其他内容。在里面,你应该会看到类似的东西:
task.pattern = 'spec/{file_pattern}'
您可以调整文件模式以捕获该任务中的所有 ruby 脚本。例如,如果 app_validate_1_spec.rb、app_validate_2_spec.rb 和 app_validate_3_spec.rb 都在您的 spec 目录中:
task.pattern = 'spec/{app_validate_1_spec.rb,app_validate_2_spec.rb,app_validate_3_spec.rb}'
会为你做的。你也可以这样做:
task.pattern = 'spec/app_validate_{1,2,3}_spec.rb'
或
task.pattern = 'spec/*_spec.rb'
只需确保该模式与您要为在服务器上执行 serverspec 的任务运行的所有内容相匹配。您还可以通过requires 发挥创意。你可以有一个app_validate_spec.rb :
require_relative 'app_validate_1_spec.rb'
require_relative 'app_validate_2_spec.rb'
require_relative 'app_validate_3_spec.rb'
然后
task.pattern = 'spec/app_validate_spec.rb'
【讨论】: