Unit testing 试验方法顺序:先进行低水平试验?

Unit testing 试验方法顺序:先进行低水平试验?,unit-testing,Unit Testing,例如: 1) 一种特定的测试方法测试低级功能。假设它测试一个实例工厂。 2) 很多功能都依赖于这一低级事物 现在,低级的东西被打破了,它的测试方法失败了 我想看到它被数百个其他依赖它的功能测试失败所掩埋吗?还是我想看到一个主要的失败 这只是一个例子,我认为您应该对测试方法的执行进行排序,即:较低的级别优先于较高的级别 请注意,我并不暗示对测试方法执行顺序的依赖性。任何测试方法都不需要任何其他测试的结果或状态。就我个人而言,我宁愿使用所有错误消息来警告我问题的范围-如果您经常运行单元测试,您将知道

例如:

1) 一种特定的测试方法测试低级功能。假设它测试一个实例工厂。 2) 很多功能都依赖于这一低级事物

现在,低级的东西被打破了,它的测试方法失败了

我想看到它被数百个其他依赖它的功能测试失败所掩埋吗?还是我想看到一个主要的失败

这只是一个例子,我认为您应该对测试方法的执行进行排序,即:较低的级别优先于较高的级别


请注意,我并不暗示对测试方法执行顺序的依赖性。任何测试方法都不需要任何其他测试的结果或状态。

就我个人而言,我宁愿使用所有错误消息来警告我问题的范围-如果您经常运行单元测试,您将知道您更改了什么来打破它们。

我会在更高级别的测试中模拟“实例工厂”。如果一个特性损坏,最好只有测试该特性的测试失败。您可能会在不知道原因的情况下破坏该特性,然后希望看到确切的特性测试失败。否则你可能很难弄清楚什么东西坏了。当然,您可以撤消上一次更改以修复它,但您可能仍然不知道为什么所有内容都会中断。

同意。甚至我也没有按照我在问题中的建议去做,但更多的是为了避免违背传统流程。这是值得讨论的。