mockito 在TestClass中找不到测试您是否忘记了@Test注解?

xwmevbvl  于 2022-11-08  发布在  其他
关注(0)|答案(6)|浏览(228)

我在运行测试时遇到如下错误:

org.mockito.exceptions.base.MockitoException: 

No tests found in TestCase
Haven't you forgot @Test annotation?

我确实有一个用@Test注解的方法。我做错了什么?

gorkyyrv

gorkyyrv1#

我得到了这个异常,即使我有一个公共方法用@Test注解。原来是导入org.junit.jupiter.api.Test,我改为org.junit.Test,它工作得很好。

zmeyuzjn

zmeyuzjn2#

该方法需要显式声明为public

@Test
public void asdf() {
    asdf...
}
kxxlusnw

kxxlusnw3#

导入junit包而不是testng包。

sh7euo9m

sh7euo9m4#

如果您已升级到Junit 5,则根据以下How to use Mockito with JUnit5
“无规则,无运行程序JUnit 4规则与运行程序在JUnit 5中不起作用,因此不能使用MockitoRule与Mockito运行程序.”
请改用@ExtendWith(MockitoExtension.class)。已在Junit 5.6.2和Spring引导2.3.1上验证了这一点:
@ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) public class ClassTest {}
也不要忘记显式地将测试方法声明为public。

nkoocmlb

nkoocmlb5#

只需从测试类中移除public访问修饰符,然后使用

import org.junit.jupiter.api.Test;
vuktfyat

vuktfyat6#

您需要检查类中测试的导入,例如从:import org.junit.jupiter.api.Test;转换为:import org.junit.Test;

相关问题