Junit3.8 私有方法测试
2015-07-30 11:52
309 查看
1. 测试类的私有方法时可以采取两种方式:
1) 修改方法的访问修饰符,将private修改为default或public(但不推荐采取这种方式)。
2) 使用反射在测试类中调用目标类的私有方法(推荐)。
1) 修改方法的访问修饰符,将private修改为default或public(但不推荐采取这种方式)。
2) 使用反射在测试类中调用目标类的私有方法(推荐)。
package junit; public class Calculator2 { private int add(int a, int b) { return a + b; } } package junit; import java.lang.reflect.Method; import junit.framework.Assert; import junit.framework.TestCase; /** * 测试私有方法,反射 */ public class Calculator2Test extends TestCase { public void testAdd() { try { Calculator2 cal2 = new Calculator2(); Class<Calculator2> clazz = Calculator2.class; Method method = clazz.getDeclaredMethod("add", new Class[] { Integer.TYPE, Integer.TYPE }); method.setAccessible(true); Object result = method.invoke(cal2, new Object[] { 2, 3 }); Assert.assertEquals(5, result); } catch (Exception ex) { Assert.fail(); } } }
相关文章推荐
- 禁用AlertDialog的按钮
- python删除特定文件的方法
- 拦截器与过滤器的区别以及他们的执行顺序
- python 学习:数据库安装
- POJ2362(DFS)
- Linux服务器误删恢复
- python-读写文件
- javascript-02
- 编写灵活、可扩展程序的步骤与方法(学院派)
- javascript bind()
- 小试mysql分布式
- Code Profling tools in Linux
- openfire+android消息推送
- Unity3D Shader入门优秀博客(一)
- AngularJS 中的 Promise 和 设计模式
- STM32L1XX使用HAL_UART_Transmit_DMA发送串口数据
- ODBC、OLE DB、 ADO的区别
- Android如何屏蔽媒体扫描
- ajax跨域问题解决方法
- Qt核心剖析: moc