powermock-成员变量赋值

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博客

该篇文章比较详细,包括了这两个工具的基本使用

你可能感兴趣的:(java,前端,开发语言)