powermock成员变量设置
//被测试类
@Service
public class Demo {
private String aaa ;
public String method1(){
return aaa;
}
}
//测试类,测试类中使用了mockito、和powermock,用powermock设置成员变量相较于mockito简洁一些,一般mockito和powermock也是一起搭配使用的,因为Mock 工具不可以实现对静态函数、构造函数、私有函数、Final 函数以及系统函数的模拟,但是这些方法往往是我们在大型系统中需要的功能。PowerMock 是在 EasyMock 以及 Mockito 基础上的扩展,通过定制类加载器等技术,PowerMock 实现了之前提到的所有模拟功能,使其成为大型系统上单元测试中的必备工具。
@RunWith(PowerMockRunner.class)
@PrepareForTest({ LoginContext.class })
public class DemoTest {
@Mock
Logger LOGGER;
@Mock
CommonDetailMapper commonDetailMapper;
@InjectMocks
Demo demo;
@Before
public void setUp() {
}
@Test
public void testMethod1() throws Exception {
Whitebox.setInternalState(demo, "aaa", "111");
String s = demo.method1();
Assert.assertTrue("111".equals(s));
}
}
参考
Mockito & PowerMock详解_powermockito官方文档-CSDN博客
该篇文章比较详细,包括了这两个工具的基本使用