我检查了rails test -h
,但我看不到抑制跳过测试的输出的选项。我有一些需要跳过的,很难通过输出进行涉水。老实说,我真的只想看到失败,然后在底部进行摘要。
我如何跳过/通过测试:
AM AMAIND添加:
test "my broken test" do
skip("I know this test is broken, ignore it for now.")
do
我看到的是:
在控制台输出中,每个跳过测试以相同的方式输出 error 将是(仅标记为 SKIP
)。摘要实际上是我想要的
1358 tests, 28 assertions, 0 failures, 0 errors, 1340 skips
谢谢!
我不知道是否有官方方法,但我可以想到两个解决方法。
一个是写一个自定义记者。
另一个是在testcase中制作自己的跳过功能(在test/test_helper.rb
中),类似的东西:
class ActiveSupport::TestCase
def skip!(message=nil)
Rails.logger.warn "Skipping #{caller[1]}#{message}" # output caller line
end
end
然后,您可以简单地调用它并以单线返回:
class SomeTest < ActiveSupport::TestCase
test "do something" do
return skip!("I can't do something right now 😿")
end
end
显然,这不会注册为跳过,您必须检查一下最大的检查才能查看如何做到这一点。它将仅注册为通过测试。但是,您将能够通过格格普文件来检测所有跳过。
如果使用Minitest-Reporters Gem,您可以明确地跳过测试:
Minitest::Reporters.use!([
Minitest::Reporters::DefaultReporter.new(detailed_skip: false),
])