使用`rails test`时隐藏跳过的测试控制台输出

时间:2017-03-06 06:02:00

标签: ruby-on-rails ruby ruby-on-rails-5 minitest

我检查了rails test -h但是我没有看到禁止跳过测试输出的选项。我有一些需要被跳过,并且很难通过输出。我真的只想看到失败,说实话,然后是底部的摘要。

我如何跳过/通过测试:

只需添加:

test "my broken test" do
    skip("I know this test is broken, ignore it for now.")
do

我所看到的:

在控制台输出中,每个跳过测试的输出方式与错误的输出方式相同(仅标记为SKIP)。摘要实际上就是我想要的所有内容

1358 tests, 28 assertions, 0 failures, 0 errors, 1340 skips

谢谢!

1 个答案:

答案 0 :(得分:1)

我不知道是否有官方方式,但我可以想到两个解决方法。

一个是写a custom reporter

另一种方法是在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查看如何做到这一点。它只会注册为通过测试。但是,您可以通过点击日志文件来检测所有跳过。