Alb*_*iks 61 java deprecated mockito
我正在尝试用@InjectMocks
和进行单元测试@Mock
.
@RunWith(MockitoJUnitRunner.class)
public class ProblemDefinitionTest {
@InjectMocks
ProblemDefinition problemDefinition;
@Mock
Matrix matrixMock;
@Test
public void sanityCheck() {
Assert.assertNotNull(problemDefinition);
Assert.assertNotNull(matrixMock);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我不包含@RunWith
注释,则测试失败.但
不推荐使用MockitoJUnitRunner类型
我正在使用Mockito 2.6.9.我该怎么办呢?
Nic*_*tto 123
org.mockito.runners.MockitoJUnitRunner
现在确实已经弃用了,你应该使用它org.mockito.junit.MockitoJUnitRunner
.正如您所看到的,只有包名已更改,类的简单名称仍然是MockitoJUnitRunner
.
摘录自org.mockito.runners.MockitoJUnitRunner
:javadoc :
移至
MockitoJUnitRunner
,此课程将与Mockito 3一起删除
你可以试试这个:
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
Run Code Online (Sandbox Code Playgroud)
因为您添加了@Before
注释,所以您的模拟对象可以是新的并且可以多次记录,并且在所有测试中,您可以为对象提供新属性.但是,如果你想要模拟对象的一次记录行为,请添加@BeforeCLass
还有一个@Rule
选项:
@Rule
public MockitoRule rule = MockitoJUnit.rule();
Run Code Online (Sandbox Code Playgroud)
或在科特林:
@get:Rule
var rule = MockitoJUnit.rule()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33897 次 |
最近记录: |