2011-07-17 176 views
5

试图将一些参数传递给rspec,但没有找到任何适当的命令行选项。我可能使用环境变量,但不知道它是配置测试的最佳(也是最透明的)方式。有没有办法将命令行参数传递给spec/rspec?

那么,我该如何传递命令行参数呢?如果不能 - 哪一个是最好的和最可接受的选择?

+0

我认为这是不可能的 - http://groups.google.com/group/rspec/browse_thread/thread/aa06395242dd7aae/c1ae10d2ad4dc33a?lnk=raot&pli=1 –

+0

看到了它 - 所以,最好的方法是什么?环境变量?他们如何被跟踪?我应该用一个shell脚本包装'rspec'来接收一个参数并将其推送到环境变量?听起来不对,呵呵。应该有一种方法(我认为),或者必须有一个原因,即这样的功能不是故意存在的。 – BreakPhreak

+1

而不是问“如何将命令行参数传递给RSpec?”,可能值得告诉我们为什么要这样做,然后我们可以帮助您了解是否有更好的方法。需要将任意命令行选项传递给程序设计糟糕的程序。 –

回答

2

一个干净的方法是为你的选项添加标签,虽然这可能不适用于你的情况。

rspec --tag sleep_5_seconds 

,然后在spec_helper.rb

RSpec.configure do |c| 
    before(:each, :sleep_5_seconds => true) do 
    setup_5_second_sleep 
    end 
end 

此代码尚未运行,但是这是概念。如果您需要根据变量进行设置和拆卸,也可以使用左右方块。

相关问题