いくつかのテストケースを作成し、ActiveTestSuiteを使用してメソッドを並列に実行し、潜在的なスレッド問題をチェックしました。次に、@BeforeClassアノテーションと@AfterClassアノテーションを利用する必要があるため、クラスをJUnit4にアノテーションでスワップしたいと考えました。私の問題は、テストスイートの作成に伴います。以前、私が前に得るために注釈を付けてActiveTestSuiteをJUnit4に切り替える
public static Test suite() {
TestSuite suite = new ActiveTestSuite(
MultithreadedTests.class.getName());
// the parm is the method name!!!
suite.addTest(new MultithreadedTests("testTransferToHostStockCountAndFinFile"));
suite.addTest(new MultithreadedTests("testTransferToHostRTVAndFinFile"));
suite.addTest(new MultithreadedTests("testTransferToHostTRFAndFinFile"));
suite.addTest(new MultithreadedTests("testTransferToHostRCVAndFinFile"));
suite.addTest(new MultithreadedTests("testTransferToHostCartonAndFinFile"));
suite.addTest(new MultithreadedTests("testTransferToHostInvAdjustmentAndFinFile"));
suite.addTest(new MultithreadedTests("testTransferToHostStoreOrderAndFinFile"));
return suite;
}
を以下でした/クラスの部分が働いた後、私のテストクラスは、もはやテストケース、トリガー得ていないそうでない場合は、それらのメソッドを拡張しません。私は私のクラスは、このような何かをやってコンパイルさ得ることができます:
package com.jda.portfolio.hostexport.server.exporthandler;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({ com.jda.portfolio.hostexport.server.exporthandler.TestThreadedExportHandler.class })
public class AllTests {}
しかし、テストでは、私が欲しいものではありませんこれは、シングルスレッドを取得します。別のスレッドでそれぞれのテストケースメソッドを実行できるようにする必要がありますが、JUnit4アノテーションを使用してスイートを作成する方法を理解するのは難しいので、 'ActiveTestSuite'です。
私には何が欠けていますか?
サードパーティ製のライブラリ/クラスを追加したくない場合は、注釈付きテストでActiveTestSuiteを使用する方法をいくつか見逃しています。 –