JUnit 3.x でパラメーター化されたテスト ケースを作成する場合、通常、次のような TestSuite を作成します。
public static Test suite() {
TestSuite s = new TestSuite();
for (int i = MIN; i < MAX; ++i) {
s.addTest(new MyTest(i));
}
}
このsuite()
メソッドは、JUnit をデスクトップ コマンドラインから実行するときに正しく呼び出されます。Android テスト プロジェクトでこれを試したところ、テストが実行されません。エミュレーターでテストを実行するにはどうすればよいですか? または、Android 用のパラメーター化されたテストを作成する別の方法はありますか?
その他の考え:
通常、コマンド ラインでテストを実行します。
adb shell am instrument -w [-e class <fully qualified test class name>[#<test method name>()]] <Android package name>/android.test.InstrumentationTestRunner
これにより、テスト スイートから実行するテストを選択できます。理想的には、パラメータ化されたテストもこの方法で実行したいと考えています。@Appu からのコメント内のリンクは、JUnit テストを実行する別のアプリの構築について説明しています。その一環として、このアプリにはカスタム TestRunner があります。これらのアイデアを借りて、 の代わりに使用できる TestRunner を作成できる可能性が非常に高いですandroid.test.InstrumentationTestRunner
。これは、珍しいことではないタスクの多くの作業のようです。Android API に同様のソリューションが既にある場合は、車輪の再発明はしたくありません。誰かそのようなことを知っていますか?また、他の代替ソリューションも役立ちます。
気にしないでください、@dtmilanoがすでにこれを回答として投稿しているようです...