有没有通过NUnit测试复杂功能的常用方法?

Mim*_*ilt 3 .net c# vb.net nunit

是否有一种通过NUnit测试具有多个参数的复杂函数的常用方法?我认为测试每种情况都是非常困难或不可能的.

我担心在测试中也不会期望功能中不期望的参数组合.

所以预期的情况不会失败,而是出乎意料的.

谢谢

Mik*_*fer 5

这应该不难测试.如果是,则该方法不是为可测试性而设计的,这是一种代码气味,告诉您需要重构它.

我倾向于在这些情况下编写测试如下(其他人可能有更好的建议):

  1. 当所有适当的参数通过时,它是否按预期工作?
  2. 我认为它应该抛出预期的异常吗?(ArgumentNullException等)
  3. 对于每个参数,当我传递null,最小值和最大值时会发生什么.(这可能非常广泛,具体取决于参数的数量.)

如果您的方法需要很多参数,请考虑重构它以获取包含其信息的对象,以便您可以在对象中封装它的规则,并将该对象传递给该方法.

  • 我加入了可测性教会的合唱团:-)如果你的函数有很多参数,形成一个复杂的条件网格,你可以将代码分成几个不同的对象 - 每个处理一个责任. (2认同)