不推荐使用 MockitoJUnitRunner

2022-01-14 00:00:00 mockito deprecated java

我正在尝试使用 @InjectMocks@Mock 进行单元测试.

I'm trying to make a unit test with @InjectMocks and @Mock.

@RunWith(MockitoJUnitRunner.class)
public class ProblemDefinitionTest {

    @InjectMocks
    ProblemDefinition problemDefinition;

    @Mock
    Matrix matrixMock;    

    @Test
    public void sanityCheck() {
        Assert.assertNotNull(problemDefinition);
        Assert.assertNotNull(matrixMock);
    }
}

当我不包含 @RunWith 注释时,测试会失败.但是

When I don't include the @RunWith annotation, the test fails. But

类型 MockitoJUnitRunner 已弃用

The type MockitoJUnitRunner is deprecated

我使用的是 Mockito 2.6.9.我该怎么办?

I'm using Mockito 2.6.9. How should I go about this?

推荐答案

org.mockito.runners.MockitoJUnitRunner 现在确实被弃用了,你应该使用 org.mockito.junit.MockitoJUnitRunner.如您所见,只有包名发生了变化,类的简单名称仍然是 MockitoJUnitRunner.

摘自org.mockito.runners.MockitoJUnitRunner的javadoc:

Excerpt from the javadoc of org.mockito.runners.MockitoJUnitRunner:

移至 MockitoJUnitRunner,这个类将被删除Mockito 3

Moved to MockitoJUnitRunner, this class will be removed with Mockito 3

相关文章