我需要在多个环境中运行 RSpec 示例。我想将一个标志传递给 RSpec,以便 case 语句可以关闭,从而设置正确的值。这是一件很自然的事情,我一定是忽略了显而易见的事情。谢谢你的帮助。
答案1
这取决于 RSpec 的调用方式。
一般来说,我会避免使用命令行参数,因为堆栈的每个部分总是以自己的方式竞争读取它们,并且语义太松散(它只是字符串序列)。
一种简单且非常通用的机制是环境变量。大多数执行上下文都允许您轻松设置它们,包括持续集成服务,当然还有您的 shell。
% FOO=hop ruby -e "puts ENV['FOO']"
hop