Ruby 以编程方式跳过RSpec中的测试
我很好奇,在before块中是否有办法跳过RSpec中的测试?我是这样想的:Ruby 以编程方式跳过RSpec中的测试,ruby,specifications,Ruby,Specifications,我很好奇,在before块中是否有办法跳过RSpec中的测试?我是这样想的: RSpec.configure do |config| config.before(:each) do |spec| if some_condition? spec.skip end end end 上述调用跳过无效。这是我正在研究的一个想法,因此它以这种方式工作,而不必使用元数据修改测试,这一点很重要。我认为可以使用RSpec内部构件,例如标记状态,但我想先检查一下是否有任何AP
RSpec.configure do |config|
config.before(:each) do |spec|
if some_condition?
spec.skip
end
end
end
上述调用
跳过无效。这是我正在研究的一个想法,因此它以这种方式工作,而不必使用元数据修改测试,这一点很重要。我认为可以使用RSpec内部构件,例如标记状态,但我想先检查一下是否有任何API用于此操作。看起来您必须在块内显式调用skip:
around(:each) do |example|
if some_condition?
example.run
else
example.skip
end
end
文件
将示例转换为“挂起”(跳过它,以不同方式打印输出,等等)我在rspec邮件列表中询问,结果是跳过“原因”
起了作用。该示例标记为挂起,这并不理想,但这回答了问题 你可以跳出不起作用的障碍,只是尝试一下。我的意思是,它确实退出了before块,但示例仍在运行。我明白了,然后您可以使用暂停测试。这也不行,我已经查看了联机列出的选项。不起作用,因为这肯定会运行示例。我用我测试的工作示例更新了我的注释。调用example.skip
跳过规范,example.run
运行规范