método stub con bloque de código como parámetro con OCMock

¿Hay alguna manera de aplicar el método stub, que toma bloque como parámetro? Por ejemplo, mehod:

- (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler; 

Sí. La forma más fácil sería aceptar cualquier cosa:

 id mockGeocoder = [OCMockObject mockForClass:[CLGeocoder class]]; [[mockGeocoder stub] reverseGeocodeLocation:[OCMOCK_ANY] completionHandler:[OCMOCK_ANY]]; 

Se vuelve un poco más complicado si quieres verificar que se pasa un bloque en particular. Una opción es hacer que tu manejador de finalización sea una propiedad de tu class, inicializarlo cuando inicializas tu class y hacer que la testing coincida directamente con ella:

 // in your class @property(copy)CLGeocodeCompletionHandler completionHandler; // in your class's init method self.completionHandler = ^(NSArray *placemark, NSError *error) { // } // using the completion handler [geocoder reverseGeocodeLocation:location completionHandler:self.completionHandler]; // the test id mockGeocoder = [OCMockObject mockForClass:[CLGeocoder class]]; [[mockGeocoder stub] reverseGeocodeLocation:[OCMOCK_ANY] completionHandler:yourClass.completionHandler];