Я пытаюсь запустить некоторые интеграционные тесты с помощью Espresso на простой активности, которая после запуска запускает загрузчик для извлечения некоторых данных.Эспрессо для Android с фрагментами. getActivity возвращает NULL
Проблема заключается в том, что когда я запускаю мои тесты (даже очень просто, такие как проверка, если кнопка находится на главной странице) результат непрерывно меняется, и я получаю разные времена NPE
Попытка вызова виртуальный метод «android.content.Context.getApplicationContext()» на нулевой объект ссылка
Моя деятельность пуст и имеет фрагмент, и ошибка может получить отслеживаются назад, когда, чтобы запустить загрузчик, Прошу контекста
MyLoader loader = new MyLoader(getActivity(), certainUrl);
Из этого я понимаю, что getActivity()
возвращается null
иногда, а затем вниз по линии это бросает исключение (так как в классе Android Loader метод context.getApplicationContext называется)
Это мой тестовый класс
public class HomeFragmentTest extends ActivityInstrumentationTestCase2<HomeActivity> {
private HomeActivity _activity;
public HomeFragmentTest() {
super(HomeActivity.class);
}
protected void setUp() throws Exception {
super.setUp();
_activity = getActivity();
injectInstrumentation(getInstrumentation());
}
public void testButton() {
onView(withId(R.id.button))
.check(matches(allOf(
isDisplayed(),
ViewMatchers.isCompletelyDisplayed()
)));
}
}
Спасибо всем за помощь