• Jmockit 使用小计 1.46


    1自动装配

    在后面的用jmockit声明的对象会自动检查前面的jmockit注解对象是否可以注入本类的内部对象,如果适配成功就注入

    2mock接口与实例

    mock之后的对象是会被覆盖的,

    对于构造方法赋值给接口的情况,请直接mock实例,否则会出现实例不对应而出现 missing 报错的情况

     @Test
        void doIt(@Mocked XXXXX xxxxx) {
            new Expectations() {{
                new XXXXX((SSSS) any);
                result=xxxxx;  
            }};
    }

    对于mock方法中的不定参数,包括构造函数,尽量用any ,原因是构造参数的个体逻辑差异会出现执行时 missing的情况

    3注解的选择

    @Tested 的对象内部逻辑是要执行的,@Mocked的内部逻辑会被忽略 要注意被@Mocked是无法记入覆盖率的,因为内部没有逻辑

    4Mock执行

    如果已经Mock了对象,但是方法的参数是实例时参数校验还是会被执行的,如果是用Tested修饰对象执行方法内部出错会使程序报错进而使mock失效

     4关于 new Expectations() mock 静态类 

    like this  new Expectations(LocalTime.class)  这个形式接口(interface)玩不了,因为没有实体类也就没有构造方法

    5 Expectations 的使用

    这个方法不能mock私有方法,但是如果一个项目所有方法都是私有的也是不可能的,尽量mock暴露在外的公共方法

  • 相关阅读:
    插入排序
    2019何凯文五夜十篇
    文件
    结构体数组表示
    位运算应用
    条件编译 预处理命令
    文件包含
    带参宏定义
    宏定义有无参数宏定义和带参数宏定义两种
    phpcms v9网站搬家更换域名的方法
  • 原文地址:https://www.cnblogs.com/funkboy/p/13152830.html
Copyright © 2020-2023  润新知