以编程方式跳过 RSpec 中的测试
Programmatically skip a test in RSpec
我很好奇是否有办法在 before 块中跳过 RSpec 中的测试?我在想这样的事情:
RSpec.configure do |config|
config.before(:each) do |spec|
if some_condition?
spec.skip
end
end
end
上面对 skip
的调用不起作用。这是针对我正在研究的一个想法,因此它以这种方式工作并且不必使用例如元数据修改测试很重要。我想可以使用 RSpec 内部结构,例如标记状态,但我想先检查一下是否有任何 API 用于此。
看来您必须在块内显式调用跳过:
around(:each) do |example|
if some_condition?
example.run
else
example.skip
end
end
的文档
将示例转换为 "pending"(跳过它,以不同方式打印输出等)
我在 rspec 邮件列表中询问过,结果 skip 'reason'
成功了。该示例被标记为待定,这并不理想,但可以回答问题。
我很好奇是否有办法在 before 块中跳过 RSpec 中的测试?我在想这样的事情:
RSpec.configure do |config|
config.before(:each) do |spec|
if some_condition?
spec.skip
end
end
end
上面对 skip
的调用不起作用。这是针对我正在研究的一个想法,因此它以这种方式工作并且不必使用例如元数据修改测试很重要。我想可以使用 RSpec 内部结构,例如标记状态,但我想先检查一下是否有任何 API 用于此。
看来您必须在块内显式调用跳过:
around(:each) do |example|
if some_condition?
example.run
else
example.skip
end
end
的文档
将示例转换为 "pending"(跳过它,以不同方式打印输出等)
我在 rspec 邮件列表中询问过,结果 skip 'reason'
成功了。该示例被标记为待定,这并不理想,但可以回答问题。