gpt4 book ai didi

java - Ant 可以根据继承层次结构对 JUnit 测试进行分类吗?

转载 作者:搜寻专家 更新时间:2023-10-31 19:58:10 24 4
gpt4 key购买 nike

我正在处理一个遗留项目,该项目具有:

  • 纯单元测试
  • 集成测试(运行缓慢;有各种讨厌的依赖项)

我正在寻找使用 Ant 分别运行两种类型测试的最简单的方法。

有没有办法让Ant根据继承层次自动识别这两个类:

StringUtilsTest extends TestCase  // "pure unit test"

对比

ProductionDBTest extends AbstractTransactionalTesterBase // "integration test"

集成测试基于抽象父类(super class)的层次结构,但它们都归结为一些 Spring 测试类,最终 AbstractSpringContextTests 扩展了 junit.framework.TestCase .

换句话说,在 Ant 中,我能否区分(间接)扩展 AbstractSpringContextTests 的测试和直接扩展 TestCase 的测试?或者我是否必须手动完成测试,例如把它们分开Categories或测试套件? (有很多测试,所以我不想那样做。)


解决方案:我尝试了 Sean 的解决方案(很有希望)approach ,但无法让它工作(轻松)。所以我最终还是半手动地完成了测试,使用 this SO question 中描述的设置对纯测试(这是较小的一组)进行注释。 ,并用 Ant 运行它们 like this . (请注意,编写自定义 TestRunner 不是必需的。。)

最佳答案

我们用于对 JUnit 测试进行分类的解决方案是使用自定义注释。然后,您可以使用自定义 TestRunner,该自定义 TestRunner 可以被赋予一个标志或参数来运行哪些测试类型,或者所有测试类型。

抱歉,没有示例代码,但创建注释和 TestRunner 是非常基础的,试一试吧!

关于java - Ant 可以根据继承层次结构对 JUnit 测试进行分类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6202579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com