Aunque no he estado en un proyecto TDD o BDD, o he estado en algunos que dicen que están haciendo TDD pero están bastante lejos de eso, estas son cosas en las que pienso y realmente intento leer tanto como puedo acerca de.
De vuelta a la pregunta. Cuando esté haciendo BDD, primero debe escribir su "prueba" y hacer que falle, ¿verdad? Y luego implemente esa característica o lo que usted llama. Pero si lleva esto al extremo, ¿no podría ser algún tipo de desarrollo de arriba hacia abajo? Estás mirando tu interfaz de usuario y dices: "Me gustaría tener esta característica / comportamiento aquí". Luego arregla su interfaz de usuario para implementar esa característica y el código que admite la interfaz de usuario. En este punto, no ha implementado ninguna lógica de negocios o lógica de acceso a datos, solo ha implementado su comportamiento. A lo que apunto en lugar de escribir la prueba primero, primero escribe tu código de interfaz de usuario. En algunos casos, debe dar como resultado el mismo código para el acceso a datos y la capa empresarial, ya que utiliza su código de interfaz de usuario para definir lo que su empresa necesita admitir.
Por supuesto, debe complementar esto con pruebas que se utilizan para asegurarse de que la función funciona como debería en la función.
¿Alguna idea?
fuente
main
. En su comentario de arriba hacia abajo, está hablando de pruebas funcionales, que ejecutan todo el programa a través de una solamain
.