本文共 2217 字,大约阅读时间需要 7 分钟。
Junit是一种常用的单元测试框架,主要用于测试软件组件的行为。测试可以分为黑盒测试和白盒测试两种。
测试用例通常包括以下步骤:
定义测试类
CalculatorTest)。cn.itcast.test等。定义测试方法
testAdd())。void,参数列表为空。使用Junit注解
@Test注解。@Before和@After注解修饰。断言结果
Assert.assertEquals进行结果判断。assertEqual、assertNotEquals等。@Beforepublic void init() { System.out.println("init......");}@Afterpublic void close() { System.out.println("close.....");}@Testpublic void testAdd() { Calculator c = new Calculator(); int result = c.add(1,2); Assert.assertEquals(3, result);} 反射机制允许在程序运行时对类进行动态操作,提高了程序的灵活性和可扩展性。
Class.forName("全类名")
类名.class
对象.getClass()
成员变量获取
getFields()获取public变量。getDeclaredFields()获取所有变量。构造方法获取
getConstructors()获取public构造方法。getDeclaredConstructors()获取所有构造方法。成员方法获取
getMethods()获取public方法。getDeclaredMethods()获取所有方法。全类名获取
getName()方法。设置值
set()方法,可通过setAccessible(true)暴力反射设置值。获取值
get()方法。newInstance()方法。invoke()方法。需求:在不修改源代码的情况下,动态创建任意类的对象并执行任意方法。
实现步骤:
import reflect.domain.Person;import java.io.IOException;import java.lang.reflect.Method;import java.util.Properties;public class ReflectTest { public static void main(String[] args) throws Exception { Properties pro = new Properties(); ClassLoader classLoader = ReflectTest.class.getClassLoader(); InputStream is = classLoader.getResourceAsStream("pro.properties"); pro.load(is); String className = pro.getProperty("className"); String methodName = pro.getProperty("methodName"); Class cls = Class.forName(className); Object obj = cls.newInstance(); Method method = cls.getMethod(methodName); method.invoke(obj); }} 注解是一种代码自解释的方式,可以在不修改源代码的情况下扩展功能。
本文内容整理自网络资源,版权归原作者所有,若有任何问题请联系原作者。
转载地址:http://huer.baihongyu.com/