我在读“.NET的依赖注入”,以及本书中的一些示例,它引导我提出了有关单元测试的问题。
单元测试如何知道何时pass
或fail
?
不知道为什么,但我一直认为你需要断言某些东西,如果断言是true
,则单元测试通过,否则测试失败。单元测试如何知道何时通过或失败?
但是,这似乎并非如此。请看下面的示例(使用NUnit
和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
?
当您错过了错误并且失败时,您的测试基础设施被破坏时,它会通过。 – 2013-04-30 09:31:13