我的测试代码有以下断言:
testSubscriber.Called.Should().BeTrue("the handler was not called");
当它失败时,我得到以下错误消息:
预期为真,因为没有调用处理程序,但发现为假。
英语不是我的母语,但这听起来不对,我应该写什么原因?
原因应该是您的断言应该通过的原因。在你的例子中,你似乎写了失败的原因。
该参数将直接替换为失败消息。它将确保不重复单词"because",因此您可以将其包含在字符串中,这可能会使代码读起来更清楚。
关于这种特殊情况下的英语,我将使用的确切语言将取决于情况。
如果您断言调用处理程序将Called
设置为true
,您可能会说case:
testSubscriber.Called.Should().BeTrue("because the handler was called");
将导致消息
预期为真,因为调用了处理程序,但发现为假。
如果您确信调用处理程序将把Called
设置为true,而不是尝试断言调用了处理程序:
testSubscriber.Called.Should()
.BeTrue("we expected the handler to have been called");
将导致消息
预期为真,因为我们预期处理程序已被调用,但结果为假。