JavaEE 初阶篇-深入了解 Junit 单元测试框架和 Java 中的反射机制(使用反射做一个简易版框架)
import org.junit.Test;
import java.lang.reflect.Method;
import static org.junit.Assert.assertTrue;
public class ReflectionExampleTest {
@Test
public void testReflection() {
try {
// 加载类
Class<?> clazz = Class.forName("ReflectionExample");
// 获取指定名称的方法
Method method = clazz.getMethod("isOdd", int.class);
// 创建实例
Object instance = clazz.newInstance();
// 调用方法并获取结果
boolean odd = (boolean) method.invoke(instance, 1);
// 断言结果是否符合预期
assertTrue(odd);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class ReflectionExample {
public boolean isOdd(int number) {
return number % 2 == 1;
}
}
这个例子展示了如何使用JUnit和Java的反射机制来测试一个简单的ReflectionExample
类的isOdd
方法。代码中使用了反射的Class.forName
方法来加载类,getMethod
来获取方法对象,newInstance
来创建类的实例,以及invoke
来调用方法。assertTrue
则是JUnit提供的断言方法,用于验证测试结果是否符合预期。
评论已关闭