2017-02-16 2 views
1

Ich habe dies umfassend gegooglet und alles, was ich mir vorstellen konnte, ist das durchschnittliche Beispiel, dass mit Espresso ich eine Taste auf einer Aktivität drücken kann und überprüfen, dass ein Textfeld einen bestimmten Text enthält eine Konsequenz.Android TDD von komplexen GUIs

Aber was, wenn ich TDD verwenden möchte, um eine komplexe GUI zu entwickeln? Sagen wir eine Aktivität mit einer AppBar + TabBar oben und einem ViewPager darunter mit 4 verschiedenen Fragmenten, die darin gehostet werden.

Ich habe wirklich keine Ahnung, wie TDD für eine solche GUI zu tun. Irgendwelche Vorschläge?

Antwort

1

Sie möchten TDD nicht wirklich für GUIs verwenden. Zumindest nicht für den Teil, der definiert, wie alles aussehen soll. Sie sollten jedoch Ihre gesamte Logik aus der Benutzeroberfläche entfernen und in andere Klassen verschieben. Lassen Sie dann Ihre GUI von einer Schnittstelle erben, die Methoden zum Aktualisieren von Ansichtsinhalten definiert. Dann können Sie in Ihren Tests die GUI über diese Schnittstelle mockern und einfach überprüfen, ob die Update-Methoden korrekt aufgerufen wurden.

+0

Ich dachte darüber nach, aber dann google ich ein bisschen und fand andere Leute, die stattdessen zugunsten von TDD für GUIs befürworteten. Obwohl ich immer noch denke, dass TDD nicht gut für sie geeignet ist, wollte ich ihr eine Chance geben. –