Класс приложения для тестирования Android JUnit

Я пытаюсь настроить тестовые примеры JUnit для приложения, которое я разрабатываю в настоящее время. Основная проблема, с которой я сталкиваюсь, заключается в том, что я не могу получить доступ к объекту, который я храню в своем классе приложения. Я расширяю класс AndroidTestCase для написания тестовых случаев.

Я попытался получить доступ к этому объекту (скажем, myData) с помощью

Myapp app = (Myapp) getContext()
                .getApplicationContext();
String myData=app.getData();

Но это вызывает исключение нулевого указателя в app.getData(); как я могу получить доступ к этому объекту во время выполнения?


person Rahul    schedule 21.10.2013    source источник


Ответы (1)


Пожалуйста, покажите больше кода, класс где extends AndroidTestCase, класс где extends TestSuite

Кроме того, вы можете забыть добавить в AndroidManifest:

...

  <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="YOUR_PACKAGE"/>

    <application
        android:label="@string/app_name"
        android:name="YOUR_APPLICATION_CLASS">

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

...
person artemiygrn    schedule 21.10.2013
comment
Спасибо за ответ. Я не добавил свойство android:name= в тег приложения в манифесте тестового приложения. Как мне добавить? Каким должно быть имя класса? Скажем, у моего целевого приложения есть класс приложения «MyApp», тогда что нужно добавить в манифест тестового приложения. - person Rahul; 21.10.2013
comment
я думаю, что android:name=MyApp если нет под пакетами, попробуйте использовать горячую клавишу предложений для вашей IDE, например, ctrl + пробел для Intellij Idea - person artemiygrn; 21.10.2013
comment
@artemiygrn Как выполнить модульное тестирование / создать класс пользовательского приложения. - person Girish; 21.04.2020