zoukankan      html  css  js  c++  java
  • PowerMock 探索

    越用jmockit越觉得powermock的繁杂,建议大家尝试一下jmockit 这个jmockit与junit有版本之间的对应关系,大家可以在maven网站上和jmockit官网上研究一下
    jmockito中文网,这是一个大佬自学成才后自己建的站,写的很透,非常适合新手学习http://jmockit.cn/index.htm
    jmockit 官网 http://jmockit.github.io/index.html
    jmockit maven 页面 https://mvnrepository.com/artifact/org.jmockit/jmockit
    powermock的用法:
    抑制@Spy注解下要测试的某一个方法

    suppress(method(GenerateReportsService.class, "getFieldValueByClmRiskRpt"));
    在将要测试的类中设置私有属性
    field(AAA.class, "aaafilename").set(aaa, "Imma AAA");
    从一个执行后的私有方法的java类获得私有属性
    workBook=(HSSFWorkbook) field(AAA.class, "workBook").get(aaa);
    模拟私有方法
            返回值 mock实例 私有方法 参数

    PowerMockito.doReturn("5555").when(aaaa,"getaaaaa",Mockito.anyObject(),Mockito.anyString());

    返回值空处理 原址https://blog.csdn.net/flysun3344/article/details/52065492

    1.当mock一个对象,且执行此对象中的方法有返回值时,使用下面的方法:

    import static org.mockito.Mockito.mock;
    import static org.mockito.Mockito.when;

    对象= mock (类名.class);
    when (对象.方法 (参数)).thenReturn (方法的返回值);

    2.当mock一个对象,且执行此对象中的方法没有返回值时,使用下面的方法:

    import org.mockito.Mockito;
    import org.mockito.invocation.InvocationOnMock;
    import org.mockito.stubbing.Answer;

    类名   对象 = Mockito.mock(类名.class);
            Mockito.doAnswer(new Answer<Object>() {
                public Object answer(InvocationOnMock invocation) {
                    Object[] args = invocation.getArguments();
                    return "called with arguments: " + args;
                }
            }).when(对象).方法名();

  • 相关阅读:
    第十三周学习进度条
    冲刺第四天
    第二天冲刺
    第三天冲刺
    第一天冲刺
    课下作业
    第十二周学习进度条
    课下作业
    webp与png、jpg相互转换
    Node疑难解决
  • 原文地址:https://www.cnblogs.com/funkboy/p/10773440.html
Copyright © 2011-2022 走看看