1

jar ライブラリでメソッドをテストしようとしていますが、Android エミュレーターでテストを実行するのではなく、Robolectric を使用して単体テストを実行したいと考えていました。ただし、ライブラリを構築しているため、Robolectric が存在しない androidmanifest.xml ファイルを必要とする問題が発生しています...

アプリなしで Robolectric テストを実行する方法はありますか?

テスト ケースとテスト対象のコードは次のようになります。

public class ObjectUnderTest {
    methodUnderTest(View v) {
        ...
    }
}

@RunWith(RobolectricTestRunner.class)
public class Tests {
    @Test
    public void methodUnderTest_Test() {
        ...
    }
}

テスト スイートを実行すると、Androidmanifest.xml を探している Robolectric から FileNotFoundException が返されます。代わりに JUnit4 テスト ランナーを使用してみましたが、「スタブ!」というメッセージが表示されます。methodUnderTest() への引数の View を作成すると、例外が発生します。

単体テスト専用のスタブ アプリケーションを作成する以外に、これを行う方法はありますか? ありがとう!

4

1 に答える 1

1

使用しているRobolectricによって異なります。

2.0 を使用している場合は、テスト クラスに @Config(manifest=Config.NONE) で注釈を付けることができます。

1.x を使用している場合は実行可能だと思いますが、より多くの作業が必要になります。

  1. Android プロジェクトと同様のフォルダー作成構造を作成し、内部にダミーの AndroidManiifest.xml を作成する必要があります。
  2. RobolectricTestRunner を拡張し、この偽の Android プロジェクトへのコンストラクター パスを渡す必要があります。
于 2013-05-08T05:03:37.757 に答える