【发布时间】:2011-09-06 08:26:01
【问题描述】:
我正在处理一个遗留项目:
- 纯单元测试
- 集成测试(运行缓慢;有各种讨厌的依赖项)
我正在寻找使用 Ant 分别运行两种类型的测试的最简单的方法。
不知道有没有办法让 Ant 根据继承层次自动识别这两个类别:
StringUtilsTest extends TestCase // "pure unit test"
对
ProductionDBTest extends AbstractTransactionalTesterBase // "integration test"
集成测试基于抽象超类的层次结构,但它们都归结为一些 Spring 测试类,最终是 AbstractSpringContextTests 扩展 junit.framework.TestCase。
换句话说,我能否在 Ant 中区分(间接)扩展 AbstractSpringContextTests 的测试和直接扩展 TestCase 的测试?或者我是否必须手动进行测试,例如将它们放在单独的 Categories 或 TestSuites 中? (有很多个测试,所以我不想这样做。)
解决方案:我尝试了 Sean 的(非常有前途的)approach,但无法(轻松地)让它工作。所以我最终还是半手动地完成了测试,使用this SO question 中描述的设置注释纯测试(这是较小的组),并使用 Ant like this 运行它们。 (请注意,不需要编写自定义 TestRunner。)
【问题讨论】:
标签: java ant junit automated-tests build-automation