我正在研究一个监视目录的程序,并在看到目录中的更改时运行目录中的所有测试.
这需要程序动态加载类,而不是获取缓存副本.
我可以动态加载测试类.在运行时检测并使用对测试的更改.但是,测试所测试的类不是这种情况.
我的代码用于动态加载类并返回测试类列表:
List> classes = new ArrayList>();
for (File file : classFiles) {
String fullName = file.getPath();
String name = fullName.substring(fullName.indexOf("bin")+4)
.replace('/', '.')
.replace('\\', '.');
name = name.substring(0, name.length() - 6);
tempClass = new DynamicClassLoader(Thread.currentThread().getContextClassLoader()).findClass(name) } catch (ClassNotFoundException e1) {
// TODO Decide how to handle exception
e1.printStackTrace();
}
boolean cHasTestMethods = false;
for(Method method: tempClass.getMethods()){
if(method.isAnnotationPresent(Test.class)){