Soy un novato completo de BDD y me gustaría entender dónde entra en juego en un ciclo de desarrollo. En los enfoques TDD, escribiríamos pruebas unitarias comúnmente para bibliotecas o aplicaciones, nos burlaríamos de objetos y eso fue genial porque incluso podría impulsar nuestro diseño. Estas pruebas se escribirían antes del código real, lo cual es bueno.Tiene sentido usar TDD para biblioteca/código API y BDD como pruebas de integración?
Entiendo que BDD tiene más que ver con las pruebas de especificación/escenario y puedo ver que es una opción perfecta para probar un requisito comercial en comparación con el código real. Pero, ¿cuál es la mejor práctica para escribir estas pruebas? ¿Seguimos escribiendo pruebas individuales (como en TDD) burlándose de las dependencias y escribiendo pruebas unitarias por cada cosa que podría salir mal? ¿Entonces escribe nuestras pruebas bdd? ¿Escribimos las pruebas bdd primero? ¿Escribimos solo pruebas bdd incluso contra componentes individuales?
Uso .NET y generalmente escribo aplicaciones asp.net mvc, pero esto es más una cuestión de teoría e independiente del lenguaje de programación subyacente.
Muchas gracias.
Lo haría de la misma manera. Esto también se conoce como ATDD. Aceptación-prueba-impulsada-desarrollo + información http://www.methodsandtools.com/archive/archive.php?id=72 –