nUnit测试相互依赖性/层次结构

Rei*_*l-- 4 nunit unit-testing

有没有办法给nUnit一个测试层次结构,这样如果之前的测试失败,以后的测试就不会运行?

假设我有一组预期会被处理和排序的数据,并且我有一个测试订单已完成的UT,还有一些测试处理的其他测试,并假设订购已经成功如果这是假的,那么它将失败.

(并且假设打破这种依赖是不可行的 - 我知道这是理想的解决方案!)

然后告诉nUnit会很高兴......"如果订购测试失败了,那么就不要理会这些问题(可能没有结果,也许?)因为我们知道他们不会工作."

显然我可以手动完成,但是这会给测试添加很多基本上无关紧要的东西(我们有很好的短测试,所以"调用头部测试并捕获异常"块会使某些测试的长度加倍)

我希望nUnit可能已经JustDoThis,但我无法在任何地方看到它?

hgc*_*ngs 6

正如你的问题中提到的,最"正确"的解决方法是打破测试之间的依赖关系.如果你真的想这样做,NUnit确实支持假设(有点像断言,但是在测试开始时),这可以用来检查影响测试有效性的一些前提条件.搜索"NUnit Assume"会出现以下StackOverflow问题,该问题与此类似:如何忽略基于NUnit中另一个测试的测试?