java私有方法属性的测试工具--Accessive
1.参考http://code.google.com/p/accessive/
2.详细使用说明
http://code.google.com/p/accessive/wiki/Documentation
3.java基本类型的属性的测试
3.1.业务对象类
package com.wdzwdz;
public class AnObject {
private int anInt;
private String aString;
private String aMethod(int value) {
return "wdz";
}
private String anotherMethod(Integer a, int b, float c) {
return "wdz" + a + "," + b + "," + c;
}
public AnObject() {
};
public AnObject(int a, String s) {
anInt = a;
aString = s;
};
}
//////////////
//3.2.业务对象的私有属性的测试
//注意例子中的私有属性是java基本类型(int),而非包裹类(Integer);测试时使用了对应的包裹类
package com.wdzwdz.test;
import junit.framework.Assert;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import com.j2speed.accessor.FieldAccessor;
import com.wdzwdz.AnObject;
public class AnObjectTest {
private AnObject target;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
target = new AnObject(10, "wdz1");
}
@Test
//基本类型的属性,需要使用对应的包裹类来指定
public void testAnInt() {
FieldAccessor<AnObject, Integer> anInt = new FieldAccessor<AnObject, Integer>(
"anInt", AnObject.class);
Integer i = anInt.get(target);
Assert.assertEquals(new Integer(10), i);
}
@Test
public void testAnObjectIntString() {
FieldAccessor<AnObject, String> h= new FieldAccessor<AnObject, String> ("aString",AnObject.class);
String act= h.get(target);
Assert.assertEquals("wdz1", act);
}
}
//////////
//4.私有方法的测试
//私有方法的参数带有包裹类型(Integer),基本类型(int)
package com.wdzwdz.test;
import junit.framework.Assert;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import com.j2speed.accessor.MethodAccessor;
import com.wdzwdz.AnObject;
/****
* test methord
* */
public class AnObjectTest2 {
private AnObject target;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
target = new AnObject(10, "wdz1");
}
@Test
public void testanotherMethod() {
MethodAccessor<String> m = new MethodAccessor<String>("anotherMethod",
target, Integer.class, int.class, float.class);
String s = m.invoke(new Integer(1), 2, 1.1f);
System.err.println(s);
Assert.assertEquals("wdz1,2,1.1", s);
}
}
分享到:
相关推荐
java 反射 调用私有方法(有参数私有方法)获取私有属性值
Java 反射详解(包含私有方法属性的调用)
一个小框架,accessive,帮助访问私有参数和私有变量,可用于实现针对私有方法、变量的单元测试,解决JUnit中不方便对私有类型的数据进行测试的问题
kiftd是一款专门面向个人、团队和小型组织的Java开源网盘系统。使用简单,解压即用。适合家庭、团队或小型组织在局域网&公网中搭建私有云盘实现文件共享。支持Windows/Linux/Mac OS,只需3分钟即可完成部署,同时还...
NULL 博文链接:https://samjavaeye.iteye.com/blog/2026212
* 私有的构造子,用以保证外界无法直接实例化 */ private ReadConfigation() { m_file = new File(PFILE); m_lastModifiedTime = m_file.lastModified(); if(m_lastModifiedTime == 0){ System.err....
Java反射访问私有变量和私有方法
NULL 博文链接:https://747017186.iteye.com/blog/1935184
中国私有云发展调查报告-2017 来源:中国信息通信研究院
腾讯私有云MySQL解决方案-TDSQL.docx
中国私有云发展调查报告-2017版.pdf
私有云搭建实施项目-方案建议书.docx
中国私有云发展调查报告-2018年版.pdf
中国私有云发展调查报告-2018年版.docx
docker容器化+图形界面portainer+镜像私有仓库registry+docker-registry-ui+以及springboot+vue部署示例,安装文档自己部署了好几次,绝对可执行!!!
基于Kubernetes的私有容器云建设实践-易宝支付.pdf
Java反射 调用空参方法 调用Object类型参数的方法 调用基本类型参数的方法 调用基本类型数组参数的方法 调用String数组参数的方法 调用Object数组参数的方法 调用私有方法
Oracle数据库私有云平台解决方案-Oracle实训室.pdf
Method,invoke,getMethod等反射私有方法和私有属性
本示例程序利用PowerMock演示了如何对静态方法和私有方法进行单元测试(其它模拟单元测试技术无法实现)。