Prueba de unidad en Xcode iOS

No soy tan experimentado en Objective-C, pero estoy deseando comenzar a desarrollar iOS usando TDD, por eso tengo pocas preguntas de novato 🙂

¿Qué están usando las personas para TDD para iOS? Estaba pensando en utilizar el marco de testing que ya tiene en Xcode, ¿es bueno? o alguna mejor opción?

Estaba tratando de hacer algunos ejercicios para la testing unitaria, y estaba creando un ejemplo, donde tengo un TableViewControllerClass, usando CoreLocation, con estos methods:

-(void)startFindLocation { [self.cllManager startUpdatingLocation]; } -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { [self.cllManager stopUpdatingLocation]; CLLocation *actualLocation = [locations lastObject]; NSLog(@"latitude: %f", actualLocation.coordinate.latitude); NSLog(@"longitude: %f", actualLocation.coordinate.longitude); } 

Lo que me gustaría probar, es muy simple, es ver si la CLLocation tiene una latitud y una longitud, en lugar de usar NSLong. Para eso, ¿realmente necesito asignar e iniciar esta class de TableViewController en mi class de testing? o hay algún marco similar a Rspec (por ejemplo, ruby ​​/ rails), donde puedo verificar si una label específica en la pantalla de la aplicación tiene este valor de latitud y longitud?

Saludos

Sigue este tutorial para get los conceptos básicos: http://www.raywenderlich.com/3716/unit-testing-in-xcode-4-quick-start-guide

Entonces podrás decidir cómo escribir tu propio set de testings. Buena suerte

Tengo una serie de screencasts en iOS TDD, comenzando con http://qualitycoding.org/objective-c-tdd/

Con respecto a su pregunta particular, una testing unitaria debe verificar los resultados de una de estas tres maneras:

  1. Verificación del valor de retorno
  2. Verificación del estado
  3. Verificación del comportamiento

No veo nada en -locationManager: didUpdateLocations: eso lleva a cualquiera de estos. Tal vez quiera TDD un método auxiliar en su lugar.