lo tanto, decir que estoy haciendo TDD y escribo una prueba como esta:TDD Estructura Pregunta de prueba
public void testDeposit()
{
Bank b = new Bank();
b.deposit(100);
AssertEquals(100, b.balance);
}
Entonces vayan y hagan el paso de la prueba, pasar a la siguiente. Digamos que hago esto por unos pocos seguidos y obtengo depósitos, retiros y amortización, todo funciona.
Luego digo que quiero escribir una prueba que pruebe a alguien creando una cuenta y haciendo una combinación de todo. ¿No es esto técnicamente una prueba de integración, no una prueba de unidad? Si lo es, ¿esto encaja en TDD, o se supone que TDD solo consiste en pruebas unitarias.
Principalmente pregunto porque, si esta prueba se rompe, lo más probable es que una de las otras pruebas se rompa, y si no lo hacen, probablemente no las haya probado con la cantidad correcta de escenarios. Entonces, ¿debería tener pruebas de integración en el mismo dominio que las pruebas unitarias cuando se trata de TDD, o deberían estar escritas en otra clase/archivo en otro lugar y ejecutarse por separado?
Otra forma de protegerlo ... sería TDD => unit tests => un comportamiento para un objeto a la vez. ATDD => escenario de pruebas => un escenario de usuario a la vez. – Gishu