.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");
}