1

Android ライブラリの JUnit テストを実行しようとしています。そこで、Eclipse で新しい Android アプリケーション プロジェクトを作成しましたが、アクティビティはありません。次に、「android.test.InstrumentationTestRunner」のインストルメンテーションを使用するように AndroidManifest.xml を変更し、さらに追加しました

<uses-library android:name="android.test.runner" />

次に、Android ライブラリをプロジェクト プロパティのライブラリ参照に追加しました。

私の問題は、テスト プロジェクトのリソースを使用して、ライブラリでテストを実行したいということです。たとえば、テスト プロジェクトの res/raw フォルダーに「hello_world」テキスト ファイルを追加しました。

このリソースは R.raw.hello_world に表示されるようになりました

問題は、 context.getResources().getResourceName(R.raw.hello_world) を呼び出すと、間違った名前が返されることです。これは、テストしようとしているライブラリ内のリソースの名前です。

テストの実行時に、テスト プロジェクトのリソースが見つからないようです。

4

1 に答える 1

1

問題は、間違ったコンテキストが使用されていたことです。

AndroidTestCase クラスと getContext() メソッドを使用していましたが、そのコンテキストにはテストにパッケージ化されたリソースが含まれていませんでした。そのため、クラスを InstrumentationTestCase に変更し、 getInstrumentation().getContext() を使用して問題を解決しました。

于 2012-10-16T21:11:22.723 に答える