2015-04-30 7 views
10

Beim Lesen der Dokumentation für Dolch 2 kann ich keine einfache Methode zum Erstellen einer Abhängigkeit beim Erstellen einer App zum Testen finden. Der einzige Hinweis, den ich gefunden habe, ist der:Erstellen von Testabhängigkeiten bei der Verwendung von Dagger2

Dolch 2 unterstützt keine Überschreibungen. Module, die override für einfache Testfälschungen können eine Unterklasse des Moduls erstellen, um dieses Verhalten zu emulieren. Module, die Überschreibungen verwenden und auf Abhängigkeitsinjektion angewiesen sind, sollten zerlegt werden, so dass die überschriebenen Module stattdessen als eine Auswahl zwischen zwei Modulen dargestellt werden.

Ich verstehe nicht, wie ich eine solche Konfiguration auf Android einrichten würde, kann jeder erklären?

+0

Was ist mit https://google.github.io/dagger/testing.html? –

Antwort

11

Dies ist derzeit mit Dagger 2 (ab v2.0.0) ohne einige Umgehungslösungen nicht möglich. Sie können darüber lesen here.

Ich habe one workaround vorgeschlagen, aber das erfordert Änderungen am Produktionscode.

Kurz:

  • zusätzliche Setter für @Component (zB in Android Setter in Application Klasse)
  • Testkomponente die Produktionskomponente

Für weitere Informationen erweitern müssen überprüfen Sie bitte beide Links . Ich hoffe, dieses Problem wird in zukünftigen Versionen von Dolch 2 behoben.

+0

Vielen Dank! @Tomrozb, diese Problemumgehung sollte jetzt funktionieren, bis eine elegantere Lösung verfügbar ist –