2016-11-25 3 views
0

Ich habe eine UIButton Unterklasse, die hitTest Methode überschreibt. Ich muss testen, ob das Anzapfen an bestimmten Punkten das tut, was ich benötige. Ich wollte diese Implementierung in die Unit-Tests einbauen.Tippen Sie auf einen bestimmten CGPoint in UIButton in Komponententests

Wie auch immer, es ist kein Problem, eine Simulation des allgemeinen Tastenklicks zu machen, ich habe keine Ahnung, wie man diesen Klick in bestimmten Koordinaten simuliert. Irgendwelche Hilfe/Hinweis bitte?

+0

Ich musste das nie tun, aber anstatt nach einem "Klick" zu suchen, suche vielleicht nach "tap recognizer". Ich habe diese 3 Jahre alte SO-Frage gefunden, die Ihnen vielleicht einen Weg weist (3 Optionen in der Lösung). [link] http://StackOverflow.com/Questions/14094691/uitapgesure-recycler-programmatical-trigger-a-tap-in-my-view#14095468 – dfd

+0

@dfd Keine von diesen erlaubt, den gegebenen Punkt zu wählen. – Vive

Antwort

0

Nun, in der Tat war es einfacher, einen Test dafür in UI Tests statt Unit Tests zu machen.

JEDOCH: Wenn Sie es auch tun möchten, denken Sie, dass Ihre UI-Komponente in anderen Klassen verwendet werden kann, in denen Sie wahrscheinlich nicht alle Tests "kopieren" werden. Später kann jemand die Verwendung Ihrer UI-Komponente vom Ursprungsplatz UND als Ergebnis entfernen - die UI-Tests. In diesem Fall wird Ihre UI-Komponente verwendet, wird aber NICHT getestet!

Also meine Empfehlung ist, ein Teilprojekt mit der Komponente zu erstellen, die die Tests enthalten wird. Ein weiterer Vorteil ist, dass Sie nicht warten werden, bis diese zusätzlichen UI-Tests in Ihrem Hauptprojekt abgeschlossen sind.

Verwandte Themen