¿Cuál es la mejor manera de implementar BDD / TDD en .NET 2.0?

votos
20

Estoy buscando agregar un conjunto de pruebas a mi aplicación, sin embargo, no puedo pasar a los nuevos frameworks de prueba para .NET 3.5.

¿Alguien tiene alguna sugerencia sobre buenos marcos de prueba para usar?

Publicado el 05/08/2008 a las 13:50
fuente por usuario
En otros idiomas...                            


12 respuestas

votos
9

NUnit y Rhino se adaptan bien y el contenedor de burla automática puede ser de su interés.

Si también estás mirando BDD, NBehave es probablemente una buena opción. Sin embargo, si solo quiere decir el estilo de BDD que se relaciona con las pruebas unitarias (xSpec), aunque puede salirse con la suya agregando un marco (aunque cosas como specunit agreguen algo de azúcar sintáctica), pero es posible que quiera mirar MSpec también es interesante.

Respondida el 12/09/2008 a las 11:02
fuente por usuario

votos
7

Mira el screencast de Rob Conery en BDD usando MSpec. Muy impresionante http://blog.wekeroad.com/mvc-storefront/kona-3/

editar: ahora uso este enfoque: http://10printhello.com/the-one-bdd-framework-to-rule-them/

Respondida el 17/06/2009 a las 13:27
fuente por usuario

votos
7

Usamos MbUnit y Rihno Mocks y demuestran que funcionan muy bien juntos. Al realizar TDD casi seguramente necesitará hacer alguna forma de inyección de dependencia, mientras que esto se puede hacer de forma manual, vale la pena mirar un contenedor de IoC como Castle Windsor .

Vale la pena ver los guiones de John Paul Bodhood para que comiences. Blog de JPB

Respondida el 06/08/2008 a las 15:16
fuente por usuario

votos
4

Este es probablemente un resumen de lo que ya se ha dicho, pero para TDD personalmente uso Rhino Mocks y MBUnit. Rhino Mocks es un marco de burla gratuito y de código abierto. La ventaja de Rhino Mocks es que no necesitamos usar cadenas mágicas para establecer sus expectativas como lo hace en NMock.

Me gusta MBUnit porque MbUnit tiene el concepto de RowTests que le permite variar sus entradas a su método de prueba. MBUnit también está disponible gratuitamente.

También debe asegurarse de que lo que elija para su marco de prueba unitario sea compatible con su CI (Continuous Integration Server). Nunit es compatible de forma predeterminada en Cruise Control.NET y debe hacer un poco de trabajo adicional para que MBUnit funcione en ccnet.

Desde el punto de vista IDE, debe tener TestDriven.NET. TestDriven.NET le permite hacer clic derecho y ejecutar pruebas en el IDE y es compatible con MBUnit y Nunit y otros.

NBehave es la biblioteca BDD que he usado. No he utilizado ninguno, así que no pude compararlos y compararlos contigo, pero NBehave es compatible con Gallio del equipo de MBUnit, lo que significa que puedes ejecutar tus pruebas BDD tal como lo harías con TestDriven.NET.

También recomendaría Resharper. Encontrará que su productividad aumenta significativamente con esta herramienta de refactorización y orientación. Le ayudará a cambiar su código a medida que desarrolla sus pruebas.

Espero que esto ayude

Respondida el 10/10/2008 a las 19:06
fuente por usuario

votos
4

También he tenido un gran éxito al usar NUnit .

También usé NMock cuando surgió la necesidad de objetos falsos. Como una ventaja adicional, la fábrica para crear tus objetos falsos se llama Mockery.

Para facilitar la ejecución de pruebas unitarias, he usado TestDriven.NET para ejecutar pruebas unitarias como codifiqué. Además, he usado Cruise Control .NET para ver SVN y verifico que cada nueva confirmación compila y pasa todas las pruebas unitarias.

Respondida el 06/08/2008 a las 15:06
fuente por usuario

votos
4

Para una biblioteca de objetos falsos , he encontrado que los Rhino.Mocks con licencia de BSD son bastante agradables.

Respondida el 05/08/2008 a las 13:54
fuente por usuario

votos
3

Voy a tener que dar un aplauso para Moq . Es un marco burlón de luz limpia que te ayuda a guiarte al abismo del éxito.

Las herramientas de prueba incorporadas en TFS están bien, harán el trabajo, pero a menudo pueden ser un poco engorrosas para trabajar. Los informes generados, la cobertura del código y algunas otras porciones son particularmente malas, te hacen calvo a los 22 en lugar de a los 50.

Si realmente te gustan las pruebas, considera probar alguna integración continua. Sentirá el dolor de la regresión rápidamente y potencialmente lo ayudará a llegar al objetivo final más rápido.

Independientemente de lo que haga, pruebe algunos y vea cuál es el más natural, si tiene tiempo. Buena suerte y feliz codificación.

Respondida el 27/09/2008 a las 05:28
fuente por usuario

votos
3

Usar nUnit con TFS no es demasiado difícil. Incluso hay un proyecto en codeplex para implementar esto: NUnit for Team Build que incluso "publica" los resultados en el almacén.

No lo he intentado, pero aconsejaría a los clientes que tienen una gran inversión (o que tienen una fuerte preferencia sobre la herramienta MSTest) en nUnit que estén interesados ​​en implementar TFS para continuar con nUnit en lugar de intentar convertir todos sus pruebas existentes

Respondida el 07/09/2008 a las 13:58
fuente por usuario

votos
3

NUnit está disponible en http://www.nunit.org . Sugeriría esto incluso cuando trabaje en la pila de MS: la compatibilidad con frameworks que no son de MS está sucediendo en las vistas previas de MVC que muestra un movimiento definido en la dirección correcta para permitirnos todo para personalizar nuestras pilas para que quepan.

Respondida el 05/08/2008 a las 14:03
fuente por usuario

votos
2

Para mi proyecto, utilicé NUnit y TestDriven.NET con gran éxito. Puede crear una biblioteca separada solo para alojar su código de prueba o puede colocarlo en su ejecutable o biblioteca. Todo depende si quieres que tu código de producción se entrelaza con tu código de prueba.

Para Dependency Injection, uso NInject en mi proyecto actual y su funcionamiento es excelente. Si usa la inyección de Constructor, no necesita saturar su código con el atributo [Inyectar].

No he usado una biblioteca simulada para mi proyecto .NET 2.0, pero para otro proyecto .NET 3.5 usaré Moq

Tenga en cuenta que todo esto funciona con .NET 2.0 y superior. (excepto Moq)

Respondida el 17/06/2009 a las 13:48
fuente por usuario

votos
2

Recomiendo lo siguiente:

TestDriven.NET - Unit Testing add on para VS que está completamente integrado con todos los principales marcos de pruebas de unidades, incluyendo NUnit, MbUnit, etc ...

Aislador Typemock : un marco de burla para .Net Unit Testing

NUnit : un marco de prueba de unidad de fuente abierta que está en C #.

Respondida el 15/10/2008 a las 15:24
fuente por usuario

votos
2

NUnit es siempre uno de mis favoritos. Sin embargo, si usa TFS como control de origen, le sugiero que se quede con Microsoft Stack.

Respondida el 05/08/2008 a las 13:51
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more