Probar lo que depende del sistema
Ficheros, rutas, procesos y plataformas: cómo se prueba lo que toca el sistema operativo sin ensuciar la máquina ni depender de dónde corre.
Ficheros y directorios
La tercera fila es la decisión de diseño que lo hace posible: si tu código llama directamente a la API de rutas de Tauri, no se puede probar sin Tauri. Si recibe el directorio como argumento, sí — y en producción se lo da quien lo construye.
Procesos
Lo del nivel 47.1, con su forma de probar:
- Un binario de prueba propio, pequeño, que hace lo que le pidas por argumentos: escribir mucho, tardar, fallar con cierto código, no terminar.
- Con él se prueban los cuatro comportamientos del nivel 45.1: leer la salida, el código de retorno, el límite de tiempo y la terminación.
- Y se compila con las pruebas, así que está siempre y en todas las plataformas.
Es media hora de trabajo y convierte el helper de procesos en algo verificable — que sin eso solo se prueba a mano con herramientas del sistema que difieren entre plataformas.
Comportamiento por plataforma
Y el caso incómodo:
Y la tercera es lo que cierra: sin ejecutar en todas, una prueba condicionada a una plataforma solo se ejecuta cuando alguien compila ahí.
Las pruebas frágiles
Y las cuatro formas de escribir una prueba que falla sin motivo:
- Depender del orden entre pruebas, que suelen ejecutarse en paralelo.
- Depender del reloj real. Nivel 71.1: se inyecta.
- Depender de la red, aunque sea local. Un servidor falso en un puerto fijo choca si dos pruebas corren a la vez.
- Y depender de recursos compartidos: el mismo fichero, el mismo directorio, el mismo puerto.
Las cuatro se resuelven igual: cada prueba con lo suyo, creado y destruido por ella.