Digamos que tiene pruebas para dos métodos de una clase. El primer método recopila datos de otro nivel y los coloca en algún tipo de almacenamiento independiente del tiempo de ejecución (como una tabla SQL), por lo que todos los datos manejados por esta prueba están codificados en la prueba. El segundo método es responsable de tomar datos de donde lo dejó el primer método y transformarlos de alguna manera (cálculo, mover ciertas partes a otro lugar, etc.).
Ahora, este segundo método podría tener entradas codificadas como la primera, o podría suponerse que las dos pruebas se ejecutarían secuencialmente y podrían retomar donde la primera prueba dejó, tomando los datos que realmente se almacenaron en la primera prueba.
Si optara por la segunda opción, realmente tendría una buena idea de que los dos métodos funcionan bien juntos, sin embargo, si la primera prueba falla, todas las pruebas posteriores fallan, eliminando el beneficio de la prueba de ayudar a aislar los errores más rápidamente.
Si optaras por la primera opción, cada método se aislaría y probaría de forma independiente, pero nunca sabrías realmente que realmente pueden funcionar juntos correctamente.
¿Cuál es la mejor opción aquí? ¿Existe algún tipo de alternativa como tener una sola prueba para cada método aislado con codificación rígida y luego pruebas más grandes que contengan ambos métodos en uno?