Junit3.8 私有方法测试

本文介绍了一种通过反射机制测试私有方法的有效方法,并提供了一个具体的示例,展示如何使用Java反射API来调用Calculator2类中的私有add方法。

1. 测试类的私有方法时可以采取两种方式:
1) 修改方法的访问修饰符,将private修改为default或public(但不推荐采取这种方式)。
2) 使用反射在测试类中调用目标类的私有方法(推荐)。

 1 package junit;
 2 
 3 public class Calculator2
 4 {
 5     private int add(int a, int b)
 6     {
 7         return a + b;
 8     }
 9 }
10 
11 
12 package junit;
13 
14 import java.lang.reflect.Method;
15 
16 import junit.framework.Assert;
17 import junit.framework.TestCase;
18 /**
19  * 测试私有方法,反射
20  */
21 public class Calculator2Test extends TestCase
22 {
23     public void testAdd()
24     {
25         try
26         {
27             Calculator2 cal2 = new Calculator2();
28 
29             Class<Calculator2> clazz = Calculator2.class;
30 
31             Method method = clazz.getDeclaredMethod("add", new Class[] {
32                     Integer.TYPE, Integer.TYPE });
33 
34             method.setAccessible(true);
35 
36             Object result = method.invoke(cal2, new Object[] { 2, 3 });
37 
38             Assert.assertEquals(5, result);
39 
40         }
41         catch (Exception ex)
42         {
43             Assert.fail();
44         }
45 
46     }
47 }

 

转载于:https://www.cnblogs.com/daneres/p/4688876.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值