问题
报错:
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; //OK
import 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修饰。