+1 para la recomendación de la gente de SpecFlow para escenarios; nunca lo usé, pero escuché muchas cosas buenas al respecto. He estado usando el viejo NUnit simple con un pequeño DSL como this. MSTest funcionaría de manera similar.
Usted puede también hacer BDD en el espacio de la unidad, que es lo que MSpec está diseñado para hacer. Personalmente estoy odiando MSpec, pero el resto del equipo aquí lo ama. Les gusta escribir ejemplos de cómo funciona el código. Me gusta mostrar por qué el comportamiento es valioso. Es una distinción sutil y si no te preocupa hacer esto a nivel de unidad, no te golpeará.
Otros marcos a considerar incluyen Concordion, Fitnesse.NET (¡por favor ponga FitSharp detrás de esto!) Y TickSpec.
En el mundo real, el bit más valioso de BDD por mucho tiempo es el conversaciones, no las pruebas automatizadas. He aquí un par de consejos rápidos y consejos para hacer que funcione:
No escribir pruebas automatizadas sobre las cosas que están en proceso de cambio. Simplemente te compromete con cosas que obtuviste mal. Espere hasta que la interfaz de usuario se haya asentado un poco y luego hágalo.
Si no le importa mucho la interfaz de usuario, pero le importa la integridad de los datos, escriba los escenarios sobre la capa de controlador/presentador (por ejemplo, para las pantallas de administración).
No comience con el inicio de sesión. Comience describiendo una parte valiosa de la aplicación para la que puede iniciar sesión. Haga eso primero (suponiendo que solo tiene un usuario). Obtendrá comentarios más rápidos sobre los bits arriesgados.
Busque comentarios rápidos sobre los bits riesgosos, que generalmente serán los bits que nunca ha hecho antes. Usa escenarios para tener conversaciones a su alrededor. Escribe cualquier cosa interesante que descubras, pero olvida los escenarios que son obvios, ¡son obvios! No se preocupe por automatizarlos para empezar. Tener conversaciones es más importante que escribir conversaciones es más importante que automatizar las conversaciones.
¡Buena suerte! Si quiere saber más acerca de BDD, reúno una página de enlaces relevantes here.
Gracias Haris, pero cualquiera puede Google y devolver enlaces de artículos. Espero escuchar algunas experiencias profesionales de los desarrolladores y lo que saben sobre estos marcos.Si sabe más acerca de SpecFlow, por favor hágamelo saber. –
No puedo recomendar SpecFlow y WatiN suficiente, ¡una combinación brillante! –