解决 Android 单元测试 No tests found for given includes:
问题
报错:
Execution failed for task ':testDebugUnitTest'.
> No tests found for given includes:
解决方案
1、一开始以为是没有给测试类加public修饰
2、然后替换 @Test 注解的包可以解决,将 org.junit.jupiter.api.Test 修改为 org.junit.Test
import org.junit.Test; //OKimport org.junit.jupiter.api.Test;//No use
org.junit.jupiter.api.Test是IDE 插件默认生成Test文件的引用。
两个类的实现是不一样的,介绍如下:
org.junit.jupiter.api
package org.junit.jupiter.api;@Target({ ElementType.ANNOTATION_TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@API(status = STABLE, since = "5.0")
@Testable
public @interface Test {
}
org.junit
package org.junit;@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface Test {/*** Default empty exception.*/static class None extends Throwable {private static final long serialVersionUID = 1L;private None() {}}/*** Optionally specify <code>expected</code>, a Throwable, to cause a test method to succeed if* and only if an exception of the specified class is thrown by the method. If the Throwable's* message or one of its properties should be verified, the* {@link org.junit.rules.ExpectedException ExpectedException} rule can be used instead.*/Class<? extends Throwable> expected() default None.class;long timeout() default 0L;
}
Note:使用 org.junit.Test 的测试方法test要被public修饰。