在我的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的失败/错误行
这可能吗?
答案 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