当前位置:  开发笔记 > 编程语言 > 正文

NUnit中最常用的方法是在集合上断言相等的长度

如何解决《NUnit中最常用的方法是在集合上断言相等的长度》经验,为你挑选了1个好方法。

使用NUnit 2.6来判断两个集合长度相等而不管它们的元素值是什么,最恰当的方式是什么?

我可以看到表达这种断言的几种方式.哪一个是优选的,或者使用一个或另一个有缺点/优点?

Assert.That(coll1, Has.Count.EqualTo(coll2.Count));
Assert.That(coll1.Count, Is.EqualTo(coll2.Count));
Assert.AreEqual(coll1.Count, coll2.Count);

我可以看到第一个选项提供了一个很好的输出,以防断言失败(预期计数...但实际上得到...),而其他两个选项只输出"Expected ...,actual ......"除非我通过附加参数提供自定义消息.



1> Erik Philips..:

我更喜欢:

Assert.That(collection, Has.Count.EqualTo(expectedCount));

只是因为.Count并且Count()可能被错误地覆盖(如果它们应该在不同的单元测试中进行测试,尽管我不知道nunit实际上是如何在内部进行计数的).基本上我不希望我的实际有任何副作用逻辑.呼叫CountCount()应该在以下行为中进行:

// Arrange
var expectedCount = 8;

// Act
var list = GetList();
var actualCount = list.Count();

// Assert
Assert.That(actualCount, Is.EqualTo(expectedCount));

两者读得相当相同,但第一个在失败时查看的逻辑较少.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有