自定义 Minitest 输出到咆哮

问题描述

在我使用的 rails 应用程序中:

  • 守卫
  • guard-minitest
  • 咆哮

当测试在后台运行时:

enter image description here

这是我从 Growl 那里得到的:

enter image description here

很高兴知道至少一项测试失败了。有什么方法可以添加报告数量摘要,即 2 次失败等?

解决方法

您可以通过修改 Guard::Minitest::Notifier.notify 来更改行为:

require 'guard/compat/plugin'

module Guard
  class Minitest < Plugin
    class Notifier
      # ...
      def self.notify(test_count,assertion_count,failure_count,error_count,skip_count,duration)
        message = guard_message(test_count,duration)
        image   = guard_image(failure_count + error_count,skip_count)

        # title: was just 'Minitest results'
        Compat::UI.notify(message,title: message,image: image)
      end
    end
  end
end

标题“Minitest results”很可能只是一个夹杂的占位符。本示例将其设置为与您在 CLI 中获得的输出相同,但您真的可以在这里做任何您想做的事情。

您最好通过分叉 gem 并将您的 gemfile 设置为从分叉中拉出来实现这一点。

gem 'minitest-guard',github: 'yourusername/minitest-guard'