Moin!
Nachdem ja objektorientierte Programmierung in der Hauptsache aus Objekten und Nachrichten besteht, und ich kein Freund von so unsäglich komplizierten Mocking Objekten bin, dachte ich mir:
Gibts da nicht was von Objective-C?
Ich meine, ich kann Schlüssel observieren, mich über allen möglichen und unmöglichen Scheiß benachrichtigen lassen, herausbekommen ob auf eine Nachricht reagiert werden kann, direkt eine Nachricht absenden – ich kann mir sogar die Implementierung dessen ausgeben lassen, was auf die Nachricht geschehen wird.
Da liegt es doch nahe sich darüber informieren zu lassen, wenn eine Nachricht versendet wurde.
Beispiel:
In einem Integrationstest möchte ich feststellen, ob beim Erstellen eines neuen Benutzers auch ein Bankkonto angelegt wird.
Nun reagiert die Erstellung des Bankkontos aber noch nicht sinnvoll sondern gibt
Ich will in diesem Kontext überhaupt nicht wissen, ob das Anlegen eines Bankkontos erfolgreich war. Dementsprechend möchte ich auch nicht prüfen, ob irgend eine interne Variable gesetzt wurde oder nicht. (Key–Value–Observing fällt also aus)
Mich interessiert nur, ob das Instanzobjekt 'Egon' dem Klassenobjekt 'BankAccount' eine Nachricht 'accountWithUser:' geschickt hat.
(Oder alternativ, ob das Instanzobjekt 'Egon' dem Instanzobjekt 'egonsAccount' der Klasse 'BankAccount' eine Nachricht 'initWithUser' geschickt hat.)
Ja, ich weiß, dass man Mocking Objekte so einrichten kann, dass die fröhlich auf alles horchen und brav antworten, wenn sowas passiert ist.
Ich möchte aber wissen, ob das mit reinen Objective–C Bordmitteln geht.
Wer weiß was?
Nachdem ja objektorientierte Programmierung in der Hauptsache aus Objekten und Nachrichten besteht, und ich kein Freund von so unsäglich komplizierten Mocking Objekten bin, dachte ich mir:
Gibts da nicht was von Objective-C?
Ich meine, ich kann Schlüssel observieren, mich über allen möglichen und unmöglichen Scheiß benachrichtigen lassen, herausbekommen ob auf eine Nachricht reagiert werden kann, direkt eine Nachricht absenden – ich kann mir sogar die Implementierung dessen ausgeben lassen, was auf die Nachricht geschehen wird.
Da liegt es doch nahe sich darüber informieren zu lassen, wenn eine Nachricht versendet wurde.
Beispiel:
In einem Integrationstest möchte ich feststellen, ob beim Erstellen eines neuen Benutzers auch ein Bankkonto angelegt wird.
Nun reagiert die Erstellung des Bankkontos aber noch nicht sinnvoll sondern gibt
nil
zurück.Ich will in diesem Kontext überhaupt nicht wissen, ob das Anlegen eines Bankkontos erfolgreich war. Dementsprechend möchte ich auch nicht prüfen, ob irgend eine interne Variable gesetzt wurde oder nicht. (Key–Value–Observing fällt also aus)
Mich interessiert nur, ob das Instanzobjekt 'Egon' dem Klassenobjekt 'BankAccount' eine Nachricht 'accountWithUser:' geschickt hat.
(Oder alternativ, ob das Instanzobjekt 'Egon' dem Instanzobjekt 'egonsAccount' der Klasse 'BankAccount' eine Nachricht 'initWithUser' geschickt hat.)
Ja, ich weiß, dass man Mocking Objekte so einrichten kann, dass die fröhlich auf alles horchen und brav antworten, wenn sowas passiert ist.
Ich möchte aber wissen, ob das mit reinen Objective–C Bordmitteln geht.
Wer weiß was?
«Applejack» "Don't you use your fancy mathematics to muddle the issue!"
Iä-86! Iä-64! Awavauatsh fthagn!
Iä-86! Iä-64! Awavauatsh fthagn!
kmr schrieb:
Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P