正确使用原因

时间:2014-05-30 15:31:33

标签: fluent-assertions

我的测试代码有以下断言:

testSubscriber.Called.Should().BeTrue("the handler was not called");

如果失败,我收到以下错误消息:

  

预期为True,因为未调用处理程序,但发现为False。

英语不是我的母语,但这听起来不对,我应该写什么原因?

1 个答案:

答案 0 :(得分:2)

原因应该是你的断言应该通过的原因。在你的情况下,你似乎写了它失败的原因。

该参数将直接替换为失败消息。它将确保不重复单词“because”,因此您可以将其包含在字符串中,这可以使代码更清晰地读取。


关于这个特定案例的英语,我使用的确切语言取决于具体情况。

如果你断言调用处理程序将Called设置为true,你可能会说:

testSubscriber.Called.Should().BeTrue("because the handler was called");

会产生消息

  

预期为True,因为调用了处理程序,但发现为False。


如果您确信调用处理程序会将Called设置为true,而您尝试断言已调用处理程序:

testSubscriber.Called.Should()
   .BeTrue("we expected the handler to have been called");

会产生消息

  

预期为True因为我们希望调用处理程序,但发现False。