有没有办法将命令行参数传递给spec/rspec?

Bre*_*eak 5 ruby automated-tests rspec

试图传递一些参数rspec,但是找不到任何适当的命令行选项.我可以使用环境变量,但不确定它是配置测试的最佳(也是最透明)方式.

那么,我怎样才能传递命令行参数?如果不能 - 这是最好和最可接受的替代方案?

Luk*_*ber 2

一种干净的方法是为您的选项添加标签,尽管这可能不适用于您的情况。

rspec --tag sleep_5_seconds
Run Code Online (Sandbox Code Playgroud)

然后在你的spec_helper.rb中

RSpec.configure do |c|
  before(:each, :sleep_5_seconds => true) do
    setup_5_second_sleep
  end
end
Run Code Online (Sandbox Code Playgroud)

该代码尚未运行,但这就是概念。如果您需要根据变量进行设置和拆卸,您也可以使用 around 块来完成此操作。