Rspec中的自定义失败消息

时间:2015-12-15 11:36:38

标签: ruby-on-rails testing rspec terminal console

在我的RSpec + Capybara测试中,当我expecting某事但测试失败时,我想要一些自定义消息。

我用:

实现了它
it "a test" do
 do_something
 expect(current_path).to eq('/some/path'), "expected path to be 'some_path' but fails"
end

但我想要的只是我的客户留言,没有来自RSpec的失败/错误

console

这可能吗?

2 个答案:

答案 0 :(得分:2)

如果要自定义输出,则应编写自定义格式化程序。基本示例:

class MyFormatter
  RSpec::Core::Formatters.register self, :example_failed

  def initialize(output)
    @output = output
  end

  def example_failed(notification)
    @output << "EPIC FAIL! => #{notification.exception}"
  end
end

不要忘记要求使用格式化程序文件并使用--format MyFormatter运行套件。

您可以在此处找到更复杂的示例:http://eftimov.net/how-to-write-rspec-formatters-from-scratch

或者与其他流行的格式化器一起寻找灵感:

答案 1 :(得分:0)

仅供参考,可以找到另一个出色的自定义格式化程序here

rspec --format Fuubar --color spec