我正在阅读“.NET 的依赖注入”并阅读书中的一些示例,这让我想到了一个关于单元测试的问题。
单元测试如何知道何时pass
或fail
?
不知道为什么,但我一直认为你需要 Assert 一些东西,如果 Assert is true
,则单元测试通过,否则测试失败。
然而,情况似乎并非如此。查看下面的示例(使用NUnit
and Moq
)。
[Test]
public void Test_UserProvidedMessage()
{
Mock<IMessageWriter> m = new Mock<IMessageWriter>();
Salutation s = new Salutation(m.Object);
s.Exclaim("use this message silly");
m.Verify(w => w.Write("use this message silly"));
}
通过该Mock.Verify
方法控制单元测试输出。我理解这个例子,但现在我质疑我对单元测试通过或失败的了解。
单元测试如何知道何时pass
或fail
?
单元测试框架使用什么标准来确定输出是pass
还是fail
?