Sto provando a scrivere un semplice test Robolectric per il mio relatore, che utilizza il database Firebase e l'autenticazione Firebase. Ma ogni volta che cerco di iniziare il test, lancia un IllegalStateException.Test dell'app Robolectric con 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)
Il mio test è molto semplice
@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);
}
}
Mentre nel mio costruttore presentatore ottengo solo le istanze Firebase.
public LoginPresenter() {
this.firebaseAuth = FirebaseAuth.getInstance();
this.database = FirebaseDatabase.getInstance().getReference();
}
C'è un modo per utilizzare Robolectric con Firebase?
Non è possibile prendere in giro i componenti Firebase? li vuoi nel tuo test? –
No, non ho ancora bisogno di loro. Potresti fornire maggiori informazioni su come prenderli in giro? Sono nuovo al test. – Prokky