2016-12-28 10 views
0

Я пишу тесты для андроид классов приложений. Но я не могу найти способ получить контекст этого класса. Ниже приведен мой класс тестов.Не удается найти контекст в классе, который простирается TestCase

public class SplashScreenActivityTest extends TestCase { 
    SplashScreenActivity splashScreenActivity; 
    Context context; 

    public void setUp() throws Exception { 
     super.setUp(); 
     splashScreenActivity = new SplashScreenActivity(); 
    } 

    public void testDeviceDetailsPost() throws Exception { 
    //I need to access a method here which requires context 
    } 
} 

Я просмотрел множество вопросов, но я не могу понять их ответы.

Например, этот вопрос Get context of test project in Android junit test case

ответ

0

Вы можете передать экземпляр переменной context к методу, который требует его следующим methodThatRequiresContext(context);

Я не совсем уверен, что ваша трудность заключается.

+0

Контекст должен содержать контекст только создавая переменную и передавая его метод не будет работать. –

+0

как контекстный контекст = getContext(); –

0

Вы можете использовать AndroidTestCase, этот класс имеет метод getContext();

Или создать класс без родителей и добавить @RunWith (AndroidJUnit4.class) в заголовке класса. И используйте это: InstrumentationRegistry.getTargetContext();

Напоминание: я должен поставить этот тестовый класс к пакету androidTest, потому что это классы есть интеграционные тесты.

+0

AndroidTestCase устарел –

0

Хорошие отправные точки для понимания тестирования для Android.

  1. Обучение Building effective unit tests (официальная документация от Google)
  2. Repository Android Testing Blueprint содержит примеры для различного рода испытаний.