【发布时间】:2010-10-01 21:29:43
【问题描述】:
当你有单元测试时,你如何进行单元测试
- 一些通用单元测试
- 更复杂的测试检查边缘情况,取决于一般情况
举个例子,想象一下测试一个 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() {
...
}
【问题讨论】:
标签: python unit-testing code-organization