我想对我的代码进行单元测试,该代码必须创建一个 .java 文件对其进行编译,然后应该创建相应的 .class 文件。
如何创建测试以查看是否创建了“.class”文件?我已经为它的存在添加了测试,现在我正在尝试测试该文件是一个有效的类文件。
我试过
try {
Class.forName("Hello");
throw AssertError();
} catch( ClassNotFoundException e ) {
}
program.createClass();
Class.forName("Hello");
但我真的不知道如何将创建文件的路径动态添加到类路径中。
编辑
加载的 URL 类完成了这项工作。
这就是我的测试现在的样子。
@Test
void testHello() throws MalformedURLException, ClassNotFoundException {
URL[] url = {
new URL("file:/home/oreyes/testwork/")
};
try {
new URLClassLoader(url).loadClass("Hello");
throw new AssertionError("Should've thrown ClassNotFoundException");
} catch ( ClassNotFoundException cnfe ){
}
c.process();
new URLClassLoader(url).loadClass("Hello");
}