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();
            }
        }
    }
    复制代码

    参考资料

      圣思园张龙老师视频。

  • 相关阅读:
    为什么叫Windows 7 ?
    关于多线程生命周期原理
    关于浏览器创建XMLHttpRequest对象
    关于ajax异步加载XML例子
    关于多线程简单原理
    指针和指针的引用
    linux学习点滴
    GCC,GDB,Makefile
    妙语集锦
    uc/os内存管理的理解
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4749639.html
Copyright © 2011-2022 走看看