无法使用mockito模拟对象的受保护变量?

时间:2015-08-20 06:21:32

标签: unit-testing mockito

我试图模仿对象但失败了。

Class A {
protected SomeResponse someRespsoonse;


public SomeResponse mapping(){

someResponse = new SomeResponse();

return someResponse ;
} 
}

然后我需要用下面的课来测试它:

@RunWith(MockitoJUnitRunner.class)
@PrepareForTest(A.class)
class ATest{
@Mock
A a = Mocktio.mock(A.class);
@Mock               
SomeResponse someResponse = Mockito.mock(SomeResponse.class);                              

@Test
testMyResponse{                
someResponse.setErrorInfo("500");                

PowerMockito.whenNew(SomeResponse.class).withNoArguments().thenReturn(someResponse);                
a.mapping();                

// some blah blah              

}}                          

问题是无法从测试类填充SomeResponse对象。 我浏览了Stackoverflow和google。但无法得到正在寻找的东西。

1 个答案:

答案 0 :(得分:0)

您正在使用PowerMockito的whenNew(),因此将RunWith Runner从Mockito更改为PowerMock。

@RunWith(PowerMockRunner.class)
@PrepareForTest(A.class)
class ATest{