6

Robolectric 単体テストを実行しようとしていますが、AndroidManifest.xml がパス上に見つからないため、エラーが発生します。@Config マニフェスト値のパスの例を教えてください。相対パスですか、絶対パスですか?

前もって感謝します

4

1 に答える 1

14

Maven を使用してテストを実行している場合は、次のように設定できます。

@Config(manifest = "../app/AndroidManifest.xml")
@RunWith(RobolectricTestRunner.class)
public class SomeTestCase { ... }

Android Studio/Intellij を使用していて、IDE 内でテストを実行したい場合は、実行構成を変更する必要があることに注意してください。

Run->Edit configuration->Defaults->JUnit->Working directory で値 $MODULE_DIR$ を設定すると、Android Studio は Maven のようにすべての junit に相対パスを設定します。

これは私にとってはうまくいきましたが、注釈が失敗した場合は、「org.robolectric.Config.properties」というファイルを作成してクラスパスに配置することもできます。
ファイルには、次のような内容が含まれている必要があります: 「マニフェスト: ./app/AndroidManifest.xml」

詳細については、こちらを参照してください: Robolectric 2.0
の構成 Maven を使用した簡単な構成については、こちらを参照してください: Simple Robolectric

于 2013-07-11T12:11:45.487 に答える