在TestClass中找不到测试你有没有忘记@Test注释?

时间:2015-05-13 08:01:59

标签: java mockito junit4

我在运行测试时遇到这样的错误:

org.mockito.exceptions.base.MockitoException: 

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

我当然有一个用@Test注释的方法。我做错了什么?

4 个答案:

答案 0 :(得分:29)

该方法需要明确声明为public

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

答案 1 :(得分:20)

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

答案 2 :(得分:5)

导入junit包而不是testng包。

答案 3 :(得分:1)

根据How to use Mockito with JUnit5,如果您已升级到Junit 5:

“没有规则,没有赛跑者 JUnit 4规则和运行器在JUnit 5中不起作用,因此无法使用MockitoRule和Mockito运行器。“

请改用@ExtendWith(MockitoExtension.class)。在Junit 5.6.2和Spring Boot 2.3.1上对此进行了验证:

@ExtendWith(MockitoExtension.class) @MockitoSettings(strictness = Strictness.LENIENT) public class ClassTest {}

也不要忘记明确将测试方法声明为公共方法。