我的测试代码有以下断言:
testSubscriber.Called.Should().BeTrue("the handler was not called");
当它失败时,我收到以下错误消息:
预期为 True,因为未调用处理程序,但发现为 False。
英语不是我的母语,但这听起来不对,我应该写什么原因?
我的测试代码有以下断言:
testSubscriber.Called.Should().BeTrue("the handler was not called");
当它失败时,我收到以下错误消息:
预期为 True,因为未调用处理程序,但发现为 False。
英语不是我的母语,但这听起来不对,我应该写什么原因?
原因应该是您的断言应该通过的原因。在您的情况下,您似乎反而写了它失败的原因。
该参数将直接替换为失败消息。它将确保不重复“因为”一词,因此您可以将其包含在字符串中,这可能会使代码阅读更清晰。
关于这种特殊情况的英语,我将使用的确切语言取决于具体情况。
如果您断言调用处理程序设置Called
为true
,您可能会说 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");
这将导致消息
预期为真,因为我们预期处理程序已被调用,但发现为假。