Работа с Robolectric, я очень новичок в android. Я сделал первый тестовый класс, используя Activity. Он работал красиво. Теперь я хочу сделать тест для фрагмента.java.lang.IllegalStateException: Активность была разрушена
@RunWith(RobolectricTestRunner.class)
public class LoginFragmentTest {
private LoginFragment fragment;
@Before
public void setup() {
fragment = new LoginFragment();
startFragment(fragment);
assertThat(fragment, notNullValue());
assertThat(fragment.getActivity(), notNullValue());
}
private void startFragment(LoginFragment fragment) {
FragmentManager fragmentManager = new FragmentActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(fragment, null);
fragmentTransaction.commit();
}
@Test
public void login() {
EditText idEditText = (EditText)fragment.getActivity().findViewById(R.id.main_id);
assertThat(idEditText, notNullValue());
}
}
Это мой первый тестовый класс для класса Фрагмент. Он выбрасывает
"java.lang.IllegalStateException: Activity has been destroyed" in startFragment#fragmentTransaction.commit().
Кто-нибудь знает, как это исправить?
Вы можете найти целый источник от https://github.com/msbaek/frame-test
Заранее спасибо !!
гул, не уничтожайте свою активность до совершения транзакции фрагмента? – njzk2