将命令行标志传递给RSpec最直接的方法是什么?

我需要在多个环境中运行RSpec示例。 我想通过一个标志到RSpec,一个case语句可以closures,以设置适当的值。 这是很自然的想要做的事,我必须忽视这个显而易见的事情。 感谢您的帮助。

这取决于RSpec如何被调用。

一般来说,我会避免命令行参数,因为每一个堆栈总是以自己的方式竞争读取它们,并且语义太松(它只是string的序列)。

一个简单和相当通用的机制将是环境variables。 大多数执行上下文将允许您轻松设置它们,包括持续集成服务,当然还有您的shell。

% FOO=hop ruby -e "puts ENV['FOO']" hop