当你有单元测试的时候你怎么做?
>一些一般单位测试
>更复杂的测试检查边缘情况,具体取决于一般情况
举个例子,想象一下测试一个CSV阅读器(我刚刚做了一个示意图符号),
def test_readCsv(): ... @dependsOn(test_readCsv) def test_readCsv_duplicateColumnName(): ... @dependsOn(test_readCsv) def test_readCsv_unicodeColumnName(): ...
我预计子测试只有在他们的父测试成功时才能运行。原因在于运行这些测试需要时间。许多失败的报告,回到一个单一的原因,也不会提供信息。当然,我可以把所有的边缘案例放在主要的测试中,但是我想知道是否有更有条理的方法来做到这一点。
我发现这些相关但不同的问题,
> How to structure unit tests that have dependencies?
> Unit Testing – Is it bad form to have unit test calling other unit tests
更新:
我发现了TestNG,它具有很好的内置支持测试依赖性。你可以写这样的测试,
@Test{dependsOnMethods = ("test_readCsv")) public void test_readCsv_duplicateColumnName() { ... }@H_502_21@