我在代码中有两种测试类型,以UnitTest和IntegrationTest结尾。当然,还有一些遗留的JUnit 4测试和新的应该使用JUnit 5编写的测试。
我想要的是: 1. UnitTestSuite和IntegrationTestSuit类可以从IDE(IntelliJ IDEA)运行,每个类都有按测试类名结尾的过滤器。 2. 我希望有两个不同的Gradle任务,每个任务运行自己的测试集(最好基于测试套件,或至少基于类名)。
我已经尝试了这个测试套件,它可以从IDE中很好地工作,并且我理解它应该可以运行JUnit 4和JUnit 5测试。但是,似乎这种方法更像是一个解决方法而不是实际的测试套件支持。
我想要的是: 1. UnitTestSuite和IntegrationTestSuit类可以从IDE(IntelliJ IDEA)运行,每个类都有按测试类名结尾的过滤器。 2. 我希望有两个不同的Gradle任务,每个任务运行自己的测试集(最好基于测试套件,或至少基于类名)。
我已经尝试了这个测试套件,它可以从IDE中很好地工作,并且我理解它应该可以运行JUnit 4和JUnit 5测试。但是,似乎这种方法更像是一个解决方法而不是实际的测试套件支持。
@RunWith(JUnitPlatform.class)
@IncludeClassNamePatterns({ "^.*UnitTest$" })
public class UnitTestSuite {
}
我创建了这个Gradle任务,但它没有运行任何测试,并告诉我:
警告:使用JUnitPlatform运行程序时忽略测试类
test { Test t ->
useJUnitPlatform()
include "UnitTestSuite.class"
}
那么有没有一种解决方案可以同时运行从IDE和Gradle任务中过滤出来并以套件的形式组合的JUnit 4和JUnit 5测试?
testJUnit4
,testJUnitJupiter
和test
,这些任务依赖于前两个。 - Sam Brannen