给出以下代码:
expect(exit_code).to eq(0), result
我了解expect(exit_code).to eq(0)
应该做什么,但是我不明白逗号或result
变量正在做什么。有人可以帮我一下吗?
答案 0 :(得分:7)
这种情况并不常见,但是to
方法可以接受一个附加参数,当示例失败时,该参数将显示一条消息。看看source code。
因此,可以为自定义消息提供额外信息,以及如何处理失败的规范:
expect(exit_code).to(eq(0), "spec failed, because exit_code is 0, please handle it")
第二个参数也可以是proc
:
expect(exit_code).to(eq(0), -> { "expected zero, got: #{exit_code}" })
在@Stefan评论之后,这是documentation,有关自定义失败消息。