zoukankan      html  css  js  c++  java
  • 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暴露在外的公共方法

  • 相关阅读:
    Codeforces Round 718C Sasha and Array (矩阵线段树)
    Ural Timus 1009 K-based Numbers (dp+矩阵快速幂+快速乘)
    CPE常用指令
    Error opening terminal:xterm解决方法
    编译MT7620n NFS文件系统
    ubuntu中把dash链接变成bash
    USB相关
    HI3515海思开发板移植3G模块笔记
    openwrt的一些琐事
    snprintf拷贝字符串
  • 原文地址:https://www.cnblogs.com/funkboy/p/13152830.html
Copyright © 2011-2022 走看看