2016-08-09 50 views
0

Wir haben OCMock für Unitests verwendet und es funktioniert sehr gut. Wir sind nur nicht sicher, wie es funktioniert. Affen flicken? Code-Generierung bei Vorverarbeitung?Wie funktioniert OCMock?

Ich habe versucht, es ohne Erfolg googeln.

Wer weiß, wie macht OCMock es magisch?

Antwort

1

Zum Beispiel Methoden auf normalen Mocks verwendet OCMock forwardInvocation: und Freunde. Dies ähnelt dynamischen Proxies oder Methoden, die in anderen Sprachen fehlen. Für weitere Informationen können Sie auf den Code starten hier:

für Klassenmethoden und Teil Mocks, OCMock verwendet Affe Patchen. Zur Laufzeit erstellt es dynamische Unterklassen entweder der Klasse (für partielle Mocks) oder der Metaklasse (für Klassenmethoden) und schaltet dann die dynamische Klasse in Verwendung um. Einstiegspunkte in den Code:

Für Mocks und Stubs Einrichtung OCMock auf C-Makros stark angewiesen ist. Es verwendet einen netten Trick mit Blöcken, um eine Syntax mit Punkten und runden Klammern zu implementieren. Ich sah das zuerst in Expecta.