Доступ к ресурсам в тестовом проекте Android

Я установил тестовый проект Android, который запускает тесты junit. Он использует два проекта eclipse «Application» и «ApplicationTest», где мои тесты находятся в проекте «ApplicationTest». В одном из моих тестов мне нужен доступ к файлу, это отлично работает, если я помещаю файл на SD-карту и указываю на него объект File. Однако я хотел бы получить доступ к файлу как к ресурсу, но это не работает. Вот что я сделал:

  • Сохранил файл в ApplicationTest / res / raw / myfile.xml
  • Пытался получить его с помощью: InputStream is = getContext (). GetResources (). OpenRawResource ( R.raw.myfile);

Но это дает мне исключение:

android.content.res.Resources$NotFoundException: File Hello World, HelloAndroidActivity! from drawable resource ID #0x7f040000
at android.content.res.Resources.openRawResource(Resources.java:823)
at android.content.res.Resources.openRawResource(Resources.java:799)
at com.quizzer.test.QuestionHandlerTests.testImportQuestions(Tests.java:182)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
Caused by: java.io.FileNotFoundException: Hello World, HelloAndroidActivity!
at android.content.res.AssetManager.openNonAssetNative(Native Method)
at android.content.res.AssetManager.openNonAsset(AssetManager.java:406)
at android.content.res.Resources.openRawResource(Resources.java:820)
... 14 more

Мой тестовый класс расширяет AndroidTestCase, поэтому контекст берется именно отсюда.

Обновление:

Проблема, похоже, в том, что во время компиляции используются ресурсы в тестовом проекте, но во время выполнения используются ресурсы в основном проекте. Я пока не знаю, как это исправить. Так что в настоящее время это работает, только если я помещаю один и тот же необработанный ресурс как в тестовый, так и в основной проект, что, конечно, довольно глупо.

19
задан Zitrax 19 March 2012 в 20:13
поделиться