Tengo un conjunto complejo de pruebas de PHPUnit, algunas de las cuales implican la conexión a servidores de todo el mundo que, por alguna razón, a veces agota el tiempo de espera.PHPUnit: reintenta automáticamente las pruebas fallidas X veces?
En lugar de hacer que la prueba falle cuando el servidor agote el tiempo de espera, me gustaría simplemente volver a intentar esa prueba una o más veces antes de marcarla realmente como fallida.
Ahora, entiendo que esta puede no ser la mejor manera de manejar mi situación actual. Una mejor solución sería arreglar los servidores. Pero, esto está fuera de mi control ahora mismo.
Así que, lo que realmente me gustaría, es una forma de decirle a PHPUnit que vuelva a probar cada caso de prueba que falla X veces, y solo marque como fallido si falla cada vez.
¿Alguna idea?
Editar: Muchos de ustedes han respondido con útiles sugerencias de que no hagan esto. Entiendo, gracias. Sin embargo, específicamente lo que intento hacer es crear un conjunto de pruebas que pruebe el funcionamiento del sistema completo , incluidos los servidores remotos. Entiendo el concepto de probar ciertas partes de mi código con respuestas "falsas" desde el exterior ... pero también duermo mejor por la noche si parte de mis pruebas prueban la "pila completa".
Según su edición: 1. Cuando diga "no es su anfitrión" dirá "no es parte de _su_sistema". Por lo tanto, no debe incluirlo en su prueba, porque de todos modos no puede influir y falsificará los resultados. 2. Nunca crearías una prueba '$ this-> assertEquals (1, rand (0,1))', ¿verdad? Eso es lo que sucede cuando incluyes sistemas externos inciertos. – KingCrunch