PowerMock单元测试使用记录

本文章只是一个基础记录,只涉及一些基础使用方法。

1.对于全局变量的获取和赋值

被测代码:所在类是ThirdAppManager.class

    /**
     * 本地数据存储类
     */
    private SharedPreferences mLocalSp;

    /**
     * 监听
     */
    private BroadcastListener broadcastListener = new BroadcastListener() {
        @Override
        public void onUUIDBroadcast(String s, String s1, byte[] blob) {
            Log.d(TAG, "onUUIDBroadcast s:" + s + ",s1:" + s1);
            //匹配返回操作广播关键字,判断是否连点


        }
    };

 测试代码:

//对全局变量赋值
mThirdAppManager = ThirdAppManager.getInstance();

PowerMockito.field(ThirdAppManager.class, "mLocalSp")
.set(mThirdAppManager, null);

//获取全局变量
Field field = PowerMockito.field(ThirdAppManager.class, "broadcastListener");
BroadcastListener broadcastListener = (BroadcastListener) field.get(mThirdAppManager);

利用这个方法可以测试listener

测试代码:

    @Test
    public void testOnUUIDBroadcast_1() throws IllegalAccessException {
        String tag = "_SWUT-SWAD-M011-C003-F001-001";
        Log.d(TAG + tag, "testOnUUIDBroadcast_1 开始");
        //该方法里实现了mThirdAppManager = ThirdAppManager.getInstance()
        init();

        Field field = PowerMockito.field(ThirdAppManager.class,            "broadcastListener");
        BroadcastListener broadcastListener = (BroadcastListener) field.get(mThirdAppManager);
        broadcastListener.onUUIDBroadcast("", "", null);
        Log.d(TAG + tag, "testOnUUIDBroadcast_1 结束");
    }

2.对于静态方法

需要在测试方法上添加注解@preparefortest,然后使用mockStatic方法进行mock。

被测代码:

测试代码:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值