Pregunta

Estoy tratando de decidir si debería usar Cuke4Nuke o SpecFlow. ¿Cuáles son los / cons pro de cada uno? Las opiniones sobre qué es mejor y por qué.

Gracias!

¿Fue útil?

Solución

(I podría estar sesgada porque soy parte con SpecFlow, pero aquí mis pensamientos ...)

Cuke4Nuke está muy cerca de pepino. Esto promete un montón de ventajas:

  • Compatibilidad
  • Obtener nuevas características de pepino cuando evoluciona pepino (al menos en teoría, pero el soporte de idiomas es un ejemplo de esto)
  • Al ser una parte real de la comunidad y el pepino pepino ecosistema

Sin embargo, esto también viene con algunas desventajas potenciales:

  • Ruby es una necesidad
  • Desde más infraestructura (Ruby, Wire-Protocolo, la integración de línea de comandos ...) está implicado, la complejidad de la solución entera se eleva, y es probable que algo en la cadena está fallando subida
  • La depuración es posible, pero un poco de una molestia
  • Ejecución de escenarios en la línea de comandos de DOS es simplemente feo, y todavía tengo problemas con algunos caracteres (alemán Umlaute). Las soluciones de pepino no funcionó para cuke4nuke en mi caso.
  • Integración con su acumulación continua es algo que tienes que trabajar por sí mismo

SpecFlow es un proyecto independiente de pepino. Se trata de estar lo más cerca posible del pepino, pero no son y serán huecos. Hay planes para utilizar el mismo programa de análisis como pepino, para mejorar la compatibilidad en el nivel de idioma.

SpecFlow trata de ofrecer las siguientes ventajas:

  • Una solución .NET pura (por lo que no es necesaria la instalación de Ruby y Ruby no está involucrado en tiempo de ejecución)
  • Hay una integración básica con VisualStudio (y hay planes para evolucionar este)
  • Los escenarios son básicamente unittests y se puede ejecutar con la infraestructura existente (NUnit.Runners, ReSharper, VisualStudio MSTest Integración ...)
  • Escenarios y medidas son fácilmente depurable de VisualStudio (acaba de establecer un punto de interrupción)
  • Integración en su construcción continua debe ser una brisa, ya que la infraestructura para funcionar unidad de pruebas es sin duda ya

Como desventajas de SpecFlow veo actualmente:

  • No es compatible con todos los idiomas que Pepino
  • En la actualidad hay un paso "de generación de código" en cuestión. Esto es transparente cuando se utiliza VisualStudio, y hay una línea de comandos para hacer esto sin VisualStudio, pero mucha gente no le gusta de generación de código.
  • En la actualidad no existe un corredor de comando explícito para SpecFlow. Sin embargo, usted puede utilizar su corredor de comandos unidad de prueba.
  • SpecFlow depende de un marco unitario de los ensayos, y en la actualidad sólo NUnit y MSTest es compatible
  • En su informe de SpecFlow todavía no es muy sofisticado. Pepino hace ofrecen más opciones, sin embargo, no sé si están todos disponibles en cuke4nuke ...

Otros consejos

jbandi da un resumen bien. Contesto la pregunta de la misma manera (con el descargo de responsabilidad frente de sesgo, por supuesto).

El objetivo de Cuke4Nuke es la compatibilidad completa pepino en .NET, mientras que la duplicación de tan poco como sea posible código de pepino. Por lo tanto, algunas de las ventajas y desventajas que ha resaltado-por ejemplo. Rubí-dependencia son inherentes a la herramienta. Otros, como los errores en el lenguaje y el formateador de apoyo y soporte para la depuración limitado, son cuestiones temporales y desaparecerán con versiones futuras.

Me he encontrado algunos problemas en Cuke4Nuke no funciona bastante como pepino. Pero como yo trabajo principalmente en Inglés, no veo las cuestiones relacionadas con la lengua en mi trabajo normal. Yo daría la bienvenida a los pasos para reproducir cualquiera de estos temas para que pueda corregirlos. (Por favor, puesto que se les la lista de cuestiones Cuke4Nuke , no aquí.)

Otra opinión muy sesgada: Trate StoryQ :)

StoryQ pruebas son en realidad código, para que pueda obtener un mejor apoyo refactorización / IDE, y se incrusta dentro de su corredor de prueba unidad existente, por lo que IC es una brisa.

Es probablemente una cuestión de preferencia si usted prefiere registras características de texto plano o código compilables. Pero para nosotros nos pareció que era muy agradable ser capaz de cambiar el nombre de los métodos narrativos y han actualizar todas las historias en sí mismas.

En realidad, hay una interfaz gráfica de usuario a condición de que se convertirán escenarios de texto sin formato en código StoryQ para usted, si usted ha conseguido ya una inversión en escenarios de texto plano o si desea dar el teclado a su gente de negocios. Incluso tiene una forma simple de IntelliSense!

Pruébalo si quieres un punto de entrada ultra-ligero en BDD:)

Otra respuesta sesgada:. StorEvil come todas las demás herramientas .NET TDC

Ventajas . StorEvil tiene su propio corredor de línea de comandos, tiene informes agradable (con el motor de vista Chispa), y tiene el mejor> motor de traducción y ejecución # plaintext- C

Además, tiene 100% más mal que cualquier otra solución.

Desventajas : StorEvil no es totalmente compatible otros idiomas humanos (excepto Inglés). la integración de Visual Studio StorEvil todavía no es tan bonito como las otras herramientas. StorEvil va a beber toda la cerveza en la nevera si no mantiene un ojo sobre él.

entiendo de Richard que él tiene la intención de interrumpir Cuke4Nuke y está apoyando el traslado de algunos de la Cuk4Nuke características en SpecFlow. Así que la respuesta es clara ahora SpecFlow.

Comencé con Cuke4Nuke pero desde entonces han desertado a SpecFlow (lo siento, Richard; -)

Las principales razones para mí para hacer que la transición fueron los siguientes:

  • SpecFlow tiene la integración VS2010 agradable para resaltar la sintaxis de características. Hay un proyecto que ofrece Cuke4VS similares, pero no tiene por no tener el apoyo VS2010 (o no la última vez que veía todos modos, que era bastante reciente)
  • He encontrado pruebas de depuración en SpecFlow a ser más fácil (no me pregunte a elaborar, que sólo parecía de esa manera ...; -)
  • Cuke4Nuke necesario Ruby. Yo estaba bien con eso, pero la mayoría de los proyectos de desarrollo C # Sé que conseguir asustado por cualquier producto que no sea MS, Ruby en particular.

Hay algunos problemas con Specflow / cosas que me gustan mejor en el mundo Pepino / Cuke4Nuke:

  • documentación del Specflow es bastante 'light' - tendrá que estar preparado para el trabajo duro para reunir información de fuentes de pepino y un poco intuir cómo se aplican a Specflow. Dicho esto yo y algunos otros tienen diseños en reforzando la documentación por lo que puede mejorar en los próximos meses.
  • me gusta mucho más la experiencia de la realización de pruebas Pepino / Cuke4Nuke en la línea de comandos con su salida del escenarios codificados por color según el estado (Conozco a alguien más arriba ve esto como algo negativo, así que supongo que depende de si usted es un comando línea de clase de tipo ...)
  • La comunidad pepino es más grande y hay más actividad de lo que parece (posiblemente) se traduce a más gente por ahí para ayudarle.

Con todo ambos tienen potencial para mejorar la forma en que escribimos software.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top