0

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

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

当它失败时,我收到以下错误消息:

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

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

4

1 回答 1

2

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

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


关于这种特殊情况的英语,我将使用的确切语言取决于具体情况。

如果您断言调用处理程序设置Calledtrue,您可能会说 case:

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");

这将导致消息

预期为真,因为我们预期处理程序已被调用,但发现为假。

于 2014-05-31T02:55:56.310 回答