我手头有一个相对较大的代码库。它由大量集成测试和少数或两个抽象测试基类组成。由于我目前正在使用内存中的 h2 而不是 Oracle 来运行所有这些测试,因此能够运行给定类层次结构的测试将非常有用,这样我就可以一次修复一个层次结构。
理想情况下,类似于:
$ gradlew test -DtestHierarchy=AbstractTestSuperClass
将运行从AbstractTestSuperClass
扩展的所有测试
知道如何实现这一目标吗?
最佳答案
看起来您正在寻找的功能已经是 Gradle 列表中请求并内联的功能。
Gradle 的文档 Test Filtering指出 Gradle 现在处理的一些测试过滤场景,以及一些将在未来版本中得到满足的场景:
- Filtering at the level of specific test methods; executing a single test method
- Filtering based on custom annotations (future)
- Filtering based on test hierarchy; executing all tests that extend a certain base class (future)
- Filtering based on some custom runtime rule, e.g. particular value of a system property or some static state (future)
或者现在,您可以将测试类命名为您的分组,以匹配 TestFilters.
中的任何一个
另外,在 comment 中提到的旁注,您应该考虑重构代码以将此类类放入一个包
中。 IMO,拥有庞大的代码库应该不是问题,但不对齐永远是问题。
关于java - 我可以运行从 gradle 扩展特定父类(super class)的所有测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46539541/