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);
        }
    }

  • 相关阅读:
    关于多工序生产中损耗的计算
    ERP相关术语
    linux下如何挂载U盘
    linux boot下的文件
    MPLS简述
    BGP
    linux添加新磁盘
    列表的方法
    python之列表
    python之模块初识-os模块
  • 原文地址:https://www.cnblogs.com/sunwei2012/p/1906217.html
Copyright © 2011-2022 走看看