¿Las pruebas pasan en local pero no en línea?

Aprende qué hacer cuando tus pruebas pasan en local pero no en línea


A veces tus tests pasan en local, en tu ordenador, pero no online.

Normalmente esto se debe a unos cuantos motivos:

No has quitado la omisión de todos los tests

Muchos ejercicios de Exercism vienen con algunos tests omitidos. La idea es que vayas resolviendo los tests en orden y quitando la omisión del siguiente a medida que avanzas. Al llegar al final del ejercicio, ya no debería quedar ningún test omitido, todos deberían pasar y tendrás una solución que funciona por completo. Consulta la documentación del track en el que estás trabajando para ver los detalles concretos de cómo funcionan las omisiones en ese lenguaje.

Cuando ejecutamos los tests online, primero quitamos todas las omisiones. Por eso, si no has quitado todas las omisiones en local, es posible que encontremos algún caso límite que no habías tenido en cuenta y los tests fallen.

Estamos usando versiones distintas

Los test runners de Exercism usan una versión concreta del lenguaje. Puede que no sea la versión más reciente del lenguaje, ya que tenemos que actualizar nuestros test runners a mano cada vez que sale una nueva versión.

Si los tests fallan online, revisa la salida (haciendo clic en la palabra «Failed») e intenta ver qué puede estar mal. Si llegas a la conclusión de que el problema se debe a un desajuste de versiones, abre un issue en el repositorio del test runner correspondiente en GitHub. Normalmente sigue el patrón https://github.com/exercism/$SLUG-test-runner (por ejemplo, https://github.com/exercism/ruby-test-runner).