zoukankan      html  css  js  c++  java
  • 私有方法的单元测试

    测试类的私有方法时可以采取两种方式:

      1.修改方法的访问修饰符,将private修改为default或者public。(不推荐)。

      2.在测试类中使用反射调用目标类的私有方法。(推荐)。

    程序实例

      一个计算加法的方法,是私有方法,在测试类中通过反射调用该方法进行测试.

      PS:使用JUnit 3。

      被测试的类:

    复制代码
    package com.mengdd.junit;
    
    public class Calculator2
    {
        private int add(int a, int b)
        {
            return a + b;
        }
    
    }
    复制代码

      测试类:

    复制代码
    package com.mengdd.junit;
    
    import java.lang.reflect.Method;
    
    import junit.framework.Assert;
    import junit.framework.TestCase;
    
    public class CalculatorTest2 extends TestCase
    {
    
        public void testAdd()
        {
            Calculator2 calculator2 = new Calculator2();
            // 得到class对象
            Class<Calculator2> clazz = Calculator2.class;
    
            // 得到方法
            try
            {
                Method method = clazz.getDeclaredMethod("add", new Class[] {
                        int.class, int.class });// 这里也可以用:Integer.TYPE
    
                method.setAccessible(true);// 抑制访问修饰符,使得私有方法变为可以访问的
    
                Object result = method.invoke(calculator2, new Object[] { 2, 3 });
    
                Assert.assertEquals(5, result);
    
            }
            catch (Exception e)
            {
                e.printStackTrace();
    
                Assert.fail();
            }
        }
    }
    复制代码

    参考资料

      圣思园张龙老师视频。

  • 相关阅读:
    Java打jar包详解
    用户体验评价
    本周总结(13)
    本周总结(12)
    第一阶段意见评论
    本周总结(11)
    冲刺计划第十天
    冲刺计划第九天
    冲刺计划第八天
    冲刺计划第七天
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4749639.html
Copyright © 2011-2022 走看看