我希望能够知道我的代码是否在 rspec 下运行。这可能吗?
原因是我正在加载一些错误记录器,这些记录器在测试过程中会因故意错误而混乱(
expect{x}.to raise_error
)。
我查看了我的
ENV
变量,没有(明显)测试环境变量的迹象。
在
spec_helper.rb
的开头添加:
ENV['RACK_ENV'] = 'test'
现在您可以在代码中检查
RACK_ENV
是否已测试。
全局变量
$0
包含正在运行的ruby程序的名称。您可以检查它是否以 /rspec
结尾,以确定代码是否正在使用 rspec
进行测试,如下所示:
do_something unless $0.end_with?('/rspec')