Ich habe zwei Klassen.Überprüfen, ob eine Methode von einem anderen Objekt aufgerufen wurde OCMock
Objekt 1:
- (void) methodA {
ObjectB objectB = [[ObjectB alloc] init];
[objectB methodB];
}
Und 2 Objekt
- (void) methodB {
// Does something
}
Mit OCMock, wie kann ich überprüfen, dass methodA
Anrufe methodB
? Ich gründe den Test auf wie folgt aus:
id mock = OCMClassMock([Object2 class]);
OCMStub([mock methodB).andReturn(nil);
[self.object1 methodA];
OCMVerify([mock methodB]);
Die Testklasse testet object1, aber ich möchte sicherstellen, dass sie das Verfahren auf object2 aufruft. Wenn Sie diesen Test ausführen, bekomme ich die fehlerhafte Nachricht:
Method methodB was not invoked.
ich Mocks/Stubs noch wirklich neu bin. Es ist durchaus möglich, dass ich den Test falsch strukturiere. Der Schein verwirrt mich etwas, weil ich Object1
teste, aber versuche, etwas auf Object2
zu überprüfen.
Denke ich richtig, wenn ich diesen Test aufstelle? Wenn nicht, wie soll ich das angehen?