zoukankan      html  css  js  c++  java
  • 如何测试私有成员方法和变量

    先考虑它是否可以单独到一个类,再考虑使用反射

    class Stranger {

        public Stranger(final String name) {
            this.name = name;
        }

        private final String greet(final String hello) {
            return hello + name;
        }

        private String name = "";
    }

    public class PrivateTest {

        public static void main(String args[]) throws Exception {

            Stranger testObj = new Stranger("Walter");
            Class testClass = testObj.getClass();
            // get private property
            Field field = testClass.getDeclaredField("name");
            // Make the field accessible
            field.setAccessible(true);
            
            // get private method
            Class[] typeParams = new Class[] { String.class };
            Method method = testClass.getDeclaredMethod("greet", typeParams);
            // Make the method accessible
            method.setAccessible(true);
            // execute the method
            Object objParams[] = { "hello, " };
            String greet = (String)method.invoke(testObj, objParams);
            
            System.out.println(greet);
        }
    }

  • 相关阅读:
    异常介绍
    docker 命令
    acm
    Openfiler能把标准x86/64架构的系统变成一个强大的NAS、SAN存储和IP存储网关
    docker 图解学习
    基于Docker的TensorFlow机器学习框架搭建和实例源码解读
    菜鸟打印控件
    Oracle 12c on Solaris 10 安装文档
    内存对齐小解
    安装oracle 11gr2 rac on solaris
  • 原文地址:https://www.cnblogs.com/sunwei2012/p/1906217.html
Copyright © 2011-2022 走看看