MockitoAnnotations.Mock 类型已被弃用。

25

我正在使用@Mock注解来模拟一个对象

@Mock
Customer customer;

但是@Mock注解显示警告。

MockitoAnnotations.Mock类型已过时。

我的测试用例失败了。

4个回答

39

使用

MockitoAnnotations.openMocks(this);

7

您使用了错误的模拟对象。请尝试使用以下模拟对象:

org.mockito.Mock,而不是org.mockito.MockitoAnnotations.Mock


谢谢,它对我有效。我已导入org.mockito.Mock。 - Girdhar Singh Rathore
2
我们是否仍然需要使用MockitoAnnotations.initMocks(this)来实例化mock对象? - Dan

3
您可以考虑删除已弃用的内容。
@BeforeEach
void init() {
    MockitoAnnotations.initMocks(this);
}

并将其替换为类内的此规则

@Rule //initMocks
public MockitoRule rule = MockitoJUnit.rule();    

Source


您提供的源代码建议使用过时的方法之一作为其替代方案。 - Holloway

1
我知道现在有点晚了,但是对于那些今天遇到这个问题的人来说,你可能包含了错误的依赖项。请确保添加:testImplementation 'org.powermock:powermock-api-mockito2:2.0.2',其中它是mockito2

2
我通过使用 openMocks(this) 进行了管理。 - Douglas Mesquita

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接