.net - serie - specflow
Alternativa de pepino para.NET (8)
Escribí una publicación de blog que detallaba el proceso que seguí para poner en marcha Cucumber con IronRuby: http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/
Rápido, ¿alguien ha encontrado una biblioteca similar al pepino de Ruby (una DSL legible por humanos para definir historias de casos de uso contra los que se puede contrastar) en la esfera .NET?
Parece que hay 3 posibilidades en este espacio:
Usa Pepino y Hierro Ruby. Aquí hay un blog sobre algunos pasos para comenzar con esto. La desventaja parece ser el rendimiento. He leído cuentas que dicen que es más lento en general , y otras que dicen que es muy lento para girar . Sin embargo, esto está lejos de ser concluyente, ya que IronRuby todavía está en desarrollo activo.
Usa Cuke4Nuke . He escuchado este producto recomendado algunas veces. En realidad utiliza Ruby y Cucumber comunes, pero ejecuta su código .NET a través de un servidor. Afortunadamente, toda esa complicación es transparente a medida que la utilizas. Cuke4Nuke ya no se encuentra en desarrollo activo.
Use SpecFlow . Este es un puerto .NET de Cucumber. Debido a esto, es posible que no tenga todas las funciones de Cucumber, y puede tener características adicionales. Lo bueno es que no tienes que tener instalado Ruby.
En este momento, no parece claro cuál de estas es la mejor opción. Personalmente, estoy pensando en comenzar con Cuke4Nuke.
Por supuesto. Se llama Pepino . Hay un ejemplo de cómo probar el código .NET en el directorio de ejemplos de pepino y la documentación en el Wiki de pepino para .NET y Mono .
StoryTeller está relacionado de alguna manera a pesar de que no es estrictamente BDD. Parece apoyar un tipo de prueba algo diferente, pero está escrito en .NET. Lea más en el blog Jeremy Millers
También debería verificar SpecFlow , que es un proyecto de código abierto para hacer BDD con .NET.
SpecFlow está utilizando el mismo formato de definición (pepinillo), como el pepino, pero puede escribir sus definiciones de pasos en .NET. Básicamente genera clases de pruebas unitarias (NUnit, MsTest, xUnit, etc.) de sus archivos de características, por lo que puede usar el mismo motor de ejecución de pruebas unitarias, como lo hace con las pruebas de unidades reales. De esta forma, también es más fácil integrar las pruebas funcionales de BDD a la compilación de integración.
En las versiones recientes, SpecFlow tiene una función de coloreado de sintaxis para Visual Studio 2010 y soporte para Silverlight y Mono / MonoDevelop.
También hay StoryQ. Este es un enfoque centrado en el desarrollo para las historias de usuarios que pueden informar a los clientes que regresan. http://storyq.codeplex.com
StoryQ es un marco BDD portátil (solo dll) incrustado para .NET 3.5. Se ejecuta dentro de su corredor de prueba existente y ayuda a producir resultados de prueba amigables para los humanos (html o texto). La interfaz fluida de StoryQ agrega tipeo fuerte, intellisense y documentación a su gramática BDD.
Tengo un artículo que muestra cómo usar Cucumber con C # en http://blog.webintellix.com/2009/10/how-to-use-cucumber-with-net-and-c.html Los tiempos de ejecución han mejorado drásticamente con IronRuby 1.0.
BDD en inglés simple se puede hacer con Concordion.NET . Las especificaciones del comportamiento esperado están escritas en HTML.
Cualquier oración de cualquier estructura se puede usar para las pruebas de Concordion.NET. Por ejemplo, no es necesario escribir una oración como "dada una cuenta bancaria con un saldo de 10 $, cuando se inicia un retiro de 20 $, la transacción falla". En su lugar, se puede usar cualquier tipo de oración como "una transacción de 20 $ falla, si la cuenta no contiene saldo suficiente de 10 $".
Las pruebas de Concordion.NET se ejecutan con la ayuda de NUnit, que está integrado en muchos entornos diferentes: https://github.com/concordion/concordion-net