1

プログラムで開始したテスト クラスにデータを渡す方法

junitCore.run(MyAwesomeClass.class);

コマンドラインからの入力に基づいて構築されたいくつかのオブジェクトを渡す必要があります。私のプログラムは実行可能なjarです。

なぜ私がこれをしているのかについての少しの文脈。QA担当者のために、スプレッドシートからの入力に基づいてテストを実行するコマンド ライン プログラムを作成しています。Android コードが混在しているコードをテストしようとしていますが、それを JVM で実行したいと考えています。そのために、実行できるように Robolectric を使用してスタブを埋めていますが、注意点として、Robolectric の JUnit テスト ランナーを使用する必要があります。

4

1 に答える 1

0

テストクラスは完全に実行可能なテストコードでなければならないため、実際にJUnitが使用される方法ではありません。

ただし、次のように、クラスをテストする前に、静的初期化を使用して必要なものをいつでも実装できます。

MyAwesomeClass.prepare(myParameter);
junitCore.run(MyAwesomeClass.class);

例えば:

public class Test2 {
    private static int param;
    public static void prepare(int param) {
        Test2.param = param;
    }

    @Test public void test() {
        Assert.assertEquals(param, 2);
    }

    public static void main(String[] args) {
        JUnitCore jUnitCore = new JUnitCore();
        Test2.prepare(2);
        jUnitCore.run(Test2.class);
    }
}
于 2013-01-20T23:38:50.547 に答える