对具有相同基类的所有类进行参数化 JUnit5 测试

问题描述 投票:0回答:1

我尝试对扩展相同基类的所有类运行一些测试,例如:

   classe Baseclass {
abstract int method();
}

class A extends Baseclass { int method(){...} }

class B extends Baseclass {int method() {..}}

class Testclass {
    @ParameterizedTest 
    @ValueSource( classes={T extends Baseclass})
    void test(Baseclass T){
      assertStuff(T..)}}

测试类应该执行A类和B类的测试方法。 当我添加扩展 BaseClass 的 C 类时,应该自动测试 C 类。 有办法做到这一点吗?

junit5 parameterized-tests
1个回答
0
投票

认为

@Tag
可以帮助你。只需使用诸如 :
 之类的标签来标记 
Baseclass

@Tag("baseClassTest")
classe Baseclass {
  abstract int method();
}

然后根据您运行测试的方式,您可以指定您只想使用标签

baseClassTest
运行测试。这意味着它只会运行扩展
Baseclass
的测试。

  • 对于IntelliJ IDEA,可以参考这个
  • 对于Maven,可以参考这个
  • Gradle 可以参考这个
© www.soinside.com 2019 - 2024. All rights reserved.