【发布时间】:2016-02-08 13:44:34
【问题描述】:
是否有一个 c# 测试框架允许将多个断言集中在一个语句中,如下所示:
Assert.AreEqual("valueA", object.A).AreEqual( "valueB", object.B)...
而不是
Assert.AreEqual("valueA", object.A);
Assert.AreEqual( "valueB", object.B);
...
这会使测试代码更短,对吧?
谢谢!
【问题讨论】:
-
“更短”有什么好处?
-
多个断言充其量是很麻烦的,将它们链接在一起会更难看出哪个断言失败。见Assertion Roulette
-
是的,我同意@NikolaiDante 的观点,将它们链接起来会使理解和调试变得更加困难。此外,自己包装 assert 方法以便链接它们或缩短它们非常容易,但您不应该这样做。在您编写的每个测试中使用一个断言是一个好习惯。
标签: c# unit-testing