わずかに異なるjarのリストでテストケースを実行する方法は?
質問
同じシステムのわずかに異なるバージョンを含むjarファイルのリストがあります。
各jarファイルに対して一連のテストケースを実行する一方で、各jarの結果を(RunListenerなどを介して)取得できます。
暗示されているクラスの読み込みの問題に少し混乱しています。
どうすればうまくできますか?
解決
antを使用している場合、JUnitタスクはクラスパスを取ります。
<target name="test">
<junit ...">
<classpath>
<pathelement path="${test.jar.path}" />
</classpath>
...
</junit>
</target>
antcallタスクを使用して、test.jar.pathプロパティの異なる値でテストターゲットを繰り返し呼び出すことができます。
他のヒント
jarが同じインターフェースを維持している場合、やらなければならないことは、少しずつ異なるクラスパスで各テストを実行することです-毎回別のバージョンのjarを使用します。
Eclipse JUnit統合を使用している場合は、N個の実行構成を作成します。クラス構成タブのそれぞれで、必要なjarを指定します。
プログラムで実行する場合は、空のクラスパスから開始し、 URLClassLoader 、毎回異なるjarのセットを提供します。
次のようなもの:
URLClassloader ucl = new URLClassLoader( list of jars from version1 );
TestCase tc = ucl.loadClass("Your Test Case").newInstance();
tc.runTest();
ucl = new URLClassLoader( list of jars from version2 );
TestCase tc = ucl.loadClass("Your Test Case").newInstance();
tc.runTest();
所属していません StackOverflow