简介:在Gradle项目中运行JUnit测试时,可能会遇到“No tests found for given includes”的错误。本文将探讨这个问题的原因,并提供相应的解决方案。
在使用JUnit进行单元测试时,Gradle项目可能会出现“No tests found for given includes”的错误。这个错误通常意味着Gradle无法找到指定的测试类。以下是可能的原因和相应的解决方案:
原因1:测试类未被正确识别
@org.junit.Test注解,而在JUnit 5中应使用@org.junit.jupiter.api.Test注解。同时,测试方法也需要使用相应的注解。dependencies部分添加如下依赖:对于JUnit 5,添加如下依赖:
testImplementation 'junit4.12'
原因3:测试类路径问题
testImplementation 'org.junit.jupiter5.7.0'
testRuntimeOnly 'org.junit.jupiter5.7.0'
src/test/java目录下。如果测试类不在该目录下,Gradle将无法找到并运行它们。include和exclude配置include和exclude配置来指定要运行的测试类。确保这些配置正确无误,并且所排除的类不再运行时需要。例如,如果你使用以下配置:确保你的测试类名符合正则表达式模式,并且不包含在排除列表中。
test {include '**/*Test*.class'exclude '**/excluded*Test*.class'}
通过排除冲突的库或模块,可以解决潜在的类加载问题。
dependencies {testImplementation('some1.0') {
exclude group: 'some.group', module: 'some.module'}}