构成单元测试的测试是否应按特定顺序运行?

tes*_*ice 3 language-agnostic testing tdd unit-testing

这对于完成单元测试的任何语言都是通用的.

大多数单元测试库提供了一种控制单元测试运行顺序的方法.假设我有一个定义十二个测试的TestClass.是否有充分的理由尝试控制十二次测试的顺序?请记住,任何启动/关闭代码都已经处理好了,因为大多数库提供了一种方法.我看到有一个明确的测试顺序的优点是你可以组成你的测试,所以每个测试只使用它直接测试或已经过先前测试测试的功能.缺点是维持订单最新的维护成本,并确保其他开发人员了解订单的原因并保留订单.

这不值得吗?

Mar*_*cie 5

这不值得努力.更重要的是,这不是一个好习惯.每个单元测试应独立于其他测试运行.如果你的一个测试依赖于另一个测试,那么这不是一个好的测试.

至于仅使用已经通过另一个测试测试的功能,您不需要"命令"测试来实现此目的.假设您有一个基本逻辑,并且对该逻辑进行了测试(测试A).您在新的测试B中测试了一个更复杂的逻辑,这个新测试假定基本逻辑正在工作.如果以后出现基本逻辑错误,测试A将失败,测试B也可能失败.那样就好.测试A将查明您修复它的问题.测试运行的顺序无关紧要.