Я пытаюсь написать простой тест Robolectric для моего ведущего, который использует базу данных Firebase и Firebase Auth. Но каждый раз, когда я пытаюсь запустить тест, он выдает исключение IllegalStateException.Исследование Robolectric с использованием Firebase
java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.
at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)
Мой тест довольно прост
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
public class LoginPresenterTest {
private LoginPresenter presenter;
private LoginMvpView view;
@Before
public void beforeEachTest() {
presenter = new LoginPresenter();
view = new LoginFragment();
}
@Test
public void attachView_shouldAttachViewToThePresenter() {
presenter.attachView(view);
assertSame(presenter.getMvpView(), view);
}
}
В то время как в моем ведущий конструктор я просто получить Firebase экземпляров.
public LoginPresenter() {
this.firebaseAuth = FirebaseAuth.getInstance();
this.database = FirebaseDatabase.getInstance().getReference();
}
Есть ли способ использования Robolectric с Firebase?
Разве это не возможно, чтобы высмеивать firebase компоненты? вы хотите, чтобы они были в вашем тесте? –
Нет, мне они еще не нужны. Не могли бы вы предоставить дополнительную информацию о том, как их издеваться? Я новичок в тестировании. – Prokky