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];
¿Fue útil?

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.

Ver http://www.mulle-kybernetik.com/software/ocmock/

Otros consejos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top