Objetivo C - Ocmock y Stubbing?
-
28-10-2019 - |
Pregunta
¿Es posible tener un objeto real de una clase y solo burlarse de un método en esa clase en lugar de burlarse de todo el objeto?
Quiero que el objeto se comporte 100% igual que el objeto real, excepto 1 método.
Ex:
MyObject *object = [[MyObject alloc] init];
[[[object stub] andReturn:@"some_string"] getMyString];
Solución
Sí, para eso están los simulacros parciales.
Simulacros parciales
ID amock = [OCMOCKObject ParcialMockForObject: Anobject
Crea un objeto simulado que se puede usar de la misma manera que Anobject. Cuando se invoca un método que no se roba, se reenviará a Anobject. Cuando se invoca un método retirado utilizando una referencia a Anobject, en lugar del simulacro, aún será manejado por el simulacro.
Tenga en cuenta que actualmente no se pueden crear simulacros parciales para instancias de clases puentes sin peaje, por ejemplo, nsstring.
Otros consejos
Puede ver en la documentación:10.3 Se pueden crear simulacros parciales para ciertas clases especiales