La mayor parte de la lógica de mi servicio web implica hablar con los servicios web de nuestro proveedor (verificar disponibilidad, realizar pedidos, etc.) No tienen un entorno de prueba y la mayoría de las llamadas no se pueden ejecutar de manera arbitraria (por ejemplo, una interrupción se ejecutaría una vez y en realidad detendría un servicio).
¿Es factible ejecutar pruebas unitarias en este entorno? Podría simular respuestas típicas, pero me preocupa que las respuestas de proveedores de código rígido socaven el punto de las pruebas unitarias.
fuente
Las pruebas unitarias también le proporcionarán una especificación inequívoca y ejecutable del comportamiento que espera de sus proveedores. Esto probablemente facilitará la comunicación con ellos.
Si hay algún problema en la interacción entre usted y los suyos, puede proporcionarles sus pruebas unitarias para indicar claramente qué comportamiento espera su código. Si su código no se comporta de la misma manera que las pruebas de su unidad, las diferencias suelen ser fáciles de detectar.
fuente
ROI
Esta es realmente una pregunta sobre el retorno de la inversión. ¿Siente que invertir en pruebas unitarias vale lo que obtendrá? A saber, su código probado de forma aislada . Además de todos los otros beneficios de las pruebas unitarias.
Puede contrastar esto con, digamos, un enfoque de prueba de aceptación automatizada donde obtendría una cuenta de prueba de su proveedor que realmente prueba el sistema integrado con las pruebas. ¿Vale la pena el costo de hacer ATDD? A saber, pruebas del sistema en su conjunto.
Depende de usted hacer el análisis y determinar si debe realizar pruebas unitarias, pruebas de aceptación automatizadas, ambas, ninguna, o alguna otra cosa.
fuente