Estoy en el punto donde tengo que escribir pruebas de unidad para una API REST escrita con CakePHP 1.3. La API admite solicitudes GET, POST y PUT para consultar y manipular datos.¿Cómo probar la unidad de su API?
¿Hay alguna forma establecida de probar la entrada/salida correcta de una API que simule una solicitud HTTP, usando accesorios? No quiero ejecutar solicitudes POST/PUT reales contra la base de datos en vivo (dev). ¿Cómo puedo burlarme mejor del sistema para usar modelos temporales, y probar el resto de la pila tal como está?
Probar las solicitudes GET es bastante fácil con controller tests. Sin embargo, para la manipulación de datos, la API usa encabezados HTTP bastante extensamente y también analiza datos XML sin procesar y JSON POST/PUT. Los métodos de prueba de la unidad controladora solo se burlan de los datos POST configurando $this->data
en el controlador, lo que no me permite probar la API correctamente.
Si está probando casi toda la pila a la vez, ya no es realmente una prueba unitaria, ¿verdad? – wds
@wds Entonces, nuevamente, ¿no es una solicitud API como una llamada de función para el cliente? ¿Por qué * no debería * probar esto como un todo? – deceze
es solo una cuestión menor de nomenclatura. Habría llamado a esto una prueba de integración, no una prueba de unidad. – wds