这个单元测试检查这么多东西有什么问题吗?:
ActualModel = ActualResult.AssertViewRendered() // check 1
.ForView("Index") // check 2
.WithViewData<List<Page>>(); // check 3
CollectionAssert.AreEqual(Expected, ActualModel); // check 4
此测试的主要目标是验证返回了正确的 View (检查 2)并且它包含正确的数据(检查 4)。
如果将其拆分为多个测试,我会得到什么吗?我只想把事情做对,但如果它没有实际值(value),我不会拆分。
我是单元测试的新手,所以要温和。
最佳答案
正如其他人指出的那样,最好在每个测试中坚持一个断言以避免丢失信息——如果第一个断言失败,您不知道后面的断言是否也会失败。您必须使用更少的信息来解决问题 - 这可能(可能)会更难。
一个很好的引用是 Roy Osherove 的 Art of Unit Testing - 如果您想正确开始单元测试,您可能会比从这里开始做得更糟。
关于c# - 单元测试中的多个断言是否不好?即使连环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2430429/