junit单元测试中私有方法测试

1、单元测试可以对系统逻辑进行每个单元模块的测试。

2、单元测试也可以作为回归测试的依据,可以避免升级完善功能时引入问题。

3、单元测试要求将代码写的更清晰,更易于测试。

4、有时单元测试需要测试私有方法以及私有静态方法可以采用下述反射方式。

@Test
    public void testGetKey(){
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("pin","abc");
        map.put("uuid","test");
        map.put("listPic","listPic"); 
        Method method = null;// 要调用的方法是SetCommodity_number
        try {
        
        method = UserBehaviorUtil.class.getDeclaredMethod("getKey",new Class[]{String.class,Map.class});
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
        
        method.setAccessible(true);// 允许处理私有方法
        try {
            Object obj = method.invoke(UserBehaviorUtil.class, new Object[] { "abc",map });// 调用方法
            assertNotNull(obj);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        
        method.setAccessible(false);
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android Note

Kotlin —  Destructuring Declarations(解构声明)

1182
来自专栏Python小屋

详解Python对象属性

在面向对象编程中,公开的数据成员可以在外部随意访问和修改,很难控制用户修改时新数据的合法性。解决这一问题的常用方法是定义私有数据成员,然后设计公开的成员方法来提...

3068
来自专栏魂祭心

原 Curry的js实现

3425
来自专栏林德熙的博客

C# const 和 readonly 有什么区别

在写常量的时候,是选择使用 const 还是 static readonly 是一个让人难以决定的问题,本文告诉大家这两个方法的区别。

912
来自专栏Hongten

J2SE 断言 [Assert]

/**  * 断言 [Assert]  *  从jdk1.4版本开始,java语言中引入了断言 [Assert]  *  机制,允许java开发者在代码中加入一...

791
来自专栏代码世界

Python之内置函数

内置函数 python里的内置函数。截止到python版本3.6.2,现在python一共为我们提供了68个内置函数。它们就是python提供给你直接可以拿来使...

3027
来自专栏鬼谷君

python split()函数使用拆分字符串 将字符串转化为列表

1605
来自专栏大数据钻研

JAVA基础

一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。 下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,...

2767
来自专栏知识分享

关于函数指针--简介

函数指针说白了,,,,函数的地址 现在看一个简单的--先定义一个函数指针 void (*f1)();就是这样定义--指向的是一个void类型的 假设定义了另一个...

2908
来自专栏海天一树

小朋友学Java(5):静态方法

先编写程序: class Demo { public void fun1() { System.out.println("Hello")...

2826

扫码关注云+社区