visual-studio-2010 bdd specflow

¿Cómo ejecutar las pruebas de SpecFlow en Visual Studio 2010?



visual-studio-2010 bdd (8)

Intentando ejecutar SpecFlow con una nueva instalación de VS2010 Professional. Creó una nueva aplicación de consola y agregó referencias a NUnit y SpecFlow. Creó una función SpecFlow. Se crea la característica. Con el código de plantilla predeterminado.

Ahora trato de ejecutar esta prueba, pero no entiendo cómo. Cuando hago clic derecho en el proyecto (en el nivel superior), no hay ninguna opción "Ejecutar prueba (s)" en el menú desplegable del mouse. ¿No se instaló SpecFlow correctamente, me faltan algunas referencias o alguna otra herramienta que necesito instalar?


Algo que me sorprendió Tenía que asegurarme de que el Tipo de proyecto fuera un Proyecto de prueba. Tuve que descargar el proyecto y cambiar el GUID del Proyecto al de un Proyecto de Prueba de Unidad. Una vez que hice eso, la prueba SpecFlow (y cualquier otra) en el proyecto cobró vida


Creé un video que demuestra cómo usar Specflow con VS2010 here



Las pruebas de Specflow se ejecutan utilizando NUnit (GUI), que debe invocarse externamente o alternativamente TestDriven.net o Resharper se pueden instalar para permitir ejecutar las pruebas desde Visual Studio.


Si desea poder ejecutar sus pruebas directamente desde Visual Studio 2010 sin herramientas o extensiones adicionales, debe configurar SpecFlow para usar MsTest como su marco de prueba unitaria.

Esto se puede hacer en su archivo de configuración de la aplicación con lo siguiente:

<configSections> <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/> </configSections> <specFlow> <unitTestProvider name="MsTest" /> <!-- Use this if you''re running VS2010 <unitTestProvider name="MsTest.2010" /> --> </specFlow>

El archivo generado por código subyacente contendrá las pruebas MsTest que son reconocibles por Visual Studio y se pueden ejecutar con el corrector de prueba build-it.

No es necesario usar NUnit en absoluto.


Solo para actualizar estas preguntas, en las últimas versiones de flujo de especificaciones que debe usar, (use MsTest.2010)

<configSections> <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/> </configSections> <specFlow> <unitTestProvider name="MsTest.2010" /> </specFlow>

vea SpecFlow usando incorrectamente NUnit


SpecFlow no proporciona un corredor en sí.
SpecFlow genera accesorios para uno de los Frameworks de Prueba de Unidad comunes. En SpecFlow 1.3 NUnit (predeterminado), MSTest y xUnit.net son compatibles (configurados en App.config).

Para ejecutar los accesorios, debes usar un corredor que sea capaz de ejecutarlos. ReSharper es una muy buena opción para un corredor de prueba que está integrado en VisualStudio, pero no es gratis. ReSharper le ofrece el menú contextual "Ejecutar pruebas de unidades" en el explorador de soluciones, a lo que se refiere.

Una alternativa para la integración de VisualStudio es TestDriven.Net (que también proporciona un menú contextual).

Para NUnit también puede usar los corredores que vienen con NUnit (hay un GUI-Runner y un corredor de línea de comando).
Para MSTest puede usar la integración nativa de VisualStudio para ejecutar pruebas (sin embargo, creo que es un poco torpe).
xUnit.net también viene con sus corredores, sin embargo, no estoy familiarizado con ellos.

Además, puedes usar tareas de MSBuild para ejecutar los dispositivos ...


También puede probar Visual Nunit, un plugin de prueba de runner NUnit de código abierto para Visual Studio 2008 y 2010. Obténgalo usando NuGet, para más información vea http://www.bubblecloud.org/visualnunit