Assert.DoesNotThrow与NUnit - 如何获得堆栈跟踪?

lys*_*cid 9 c# nunit unit-testing testdriven.net

我正在使用NUnit进行单元测试(使用TD.NET运行).

使用Assert.DoesNotThrow时,我得到了异常,但没有任何堆栈跟踪,这使得识别根问题变得更加困难.

我该如何解决这个问题?

vid*_*ige 12

Assert.DoesNotThrow是多余的,如果测试抛出,测试将在没有断言的情况下自动失败.根据我的拙见,清楚地说明测试的是什么,在测试方法名称中更好地传达.Assert.DoesNotThrow语法中的文档优势很少,正如您所指出的那样,只是使修复失败的测试变得更加困难.

此外,如果您对多个断言进行了非常长的测试,那么Assert.DoesNotThrow填充一个重要的角色就是断言正确的代码块引发异常.但是,在这种情况下,更合适的解决方案是查看是否可以缩短测试和/或将断言移入他们自己的测试中.