2015-04-30 14 views
10

Durante la lettura dei documenti per Dagger 2 Non riesco a trovare un modo semplice per fornire una dipendenza durante la creazione di un'app per il test. L'unico indizio che ho trovato è questo:Creazione di dipendenze di test quando si utilizza Dagger2

Dagger 2 non supporta l'override. I moduli che sostituiscono per semplici falsi test possono creare una sottoclasse del modulo per emulare tale comportamento. I moduli che utilizzano l'override e si basano sull'integrazione delle dipendenze devono essere scomposti in modo che i moduli sostituiti siano invece rappresentati come scelta tra due moduli.

Non capisco come impostare una configurazione simile su Android, qualcuno può spiegare?

+0

Che cosa succede a https://google.github.io/dagger/testing.html? –

risposta

11

Questo è attualmente impossibile con Dagger 2 (a partire dalla v2.0.0) senza alcuni accorgimenti. Puoi leggere su di esso here.

Ho proposto one workaround ma ciò richiede modifiche al codice di produzione.

In breve:

  • forniscono ulteriori setter per @Component (ad esempio in Android setter in Application classe)
  • componente test deve estendere il componente di produzione

Per maggiori informazioni si prega di controllare entrambi i collegamenti . Spero che questo problema venga risolto nelle versioni future di Dagger 2.

+0

Grazie mille! @ tomrozb, questa soluzione dovrebbe funzionare per ora, finché non sarà disponibile una soluzione più elegante –

Problemi correlati