鉴于此代码:
expect(exit_code).to eq(0), result
Run Code Online (Sandbox Code Playgroud)
我理解expect(exit_code).to eq(0)应该做什么,但我不明白逗号或result变量在做什么.有人可以为我阐明一下吗?
它并不常见,但是to当示例失败时,方法可以接受另一个参数,即显示的消息.看看源代码.
因此,可以为自定义消息提供额外信息,如何处理失败的规范:
expect(exit_code).to(eq(0), "spec failed, because exit_code is 0, please handle it")
Run Code Online (Sandbox Code Playgroud)
第二个参数,也可以是proc:
expect(exit_code).to(eq(0), -> { "expected zero, got: #{exit_code}" })
Run Code Online (Sandbox Code Playgroud)
关注@ Stefan的评论,这里是关于自定义失败消息的文档.