检测由 RSpec、Ruby 运行的代码

问题描述 投票:0回答:2

我希望能够知道我的代码是否在 rspec 下运行。这可能吗?

原因是我正在加载一些错误记录器,这些记录器在测试过程中会因故意错误而混乱(

expect{x}.to raise_error
)。

我查看了我的

ENV
变量,没有(明显)测试环境变量的迹象。

ruby rspec environment-variables
2个回答
16
投票

spec_helper.rb
的开头添加:

ENV['RACK_ENV'] = 'test'

现在您可以在代码中检查

RACK_ENV
是否已测试。


0
投票

全局变量

$0
包含正在运行的ruby程序的名称。您可以检查它是否以
/rspec
结尾,以确定代码是否正在使用
rspec
进行测试,如下所示:

do_something unless $0.end_with?('/rspec')
© www.soinside.com 2019 - 2024. All rights reserved.