39 votos

Cómo ejecutar SpecFlow pruebas en Visual Studio 2010?

Tratando de conseguir SpecFlow corriendo con un fresco de VS2010 Profesional de instalar. Crea una nueva aplicación de consola y agregar las referencias a NUnit y SpecFlow. Creó un SpecFlow característica. El .cuentan con la plantilla por defecto se crea el código.

Ahora trato de ejecutar esta prueba, pero no entiendo cómo. Cuando hago clic derecho en el proyecto (en el nivel superior), no hay un "Run test(s)" en la opción del ratón menú desplegable. No la SpecFlow instalar correctamente, me estoy perdiendo algunas referencias o alguna otra herramienta que necesito instalar?

79voto

mfloryan Puntos 5544

Si usted quiere ser capaz de ejecutar las pruebas directamente desde Visual Studio 2010 sin herramientas adicionales o extensiones que usted debe configurar SpecFlow utilizar MsTest como su marco de pruebas unitarias.

Esto se puede hacer en el archivo de configuración de aplicación con las siguientes:

  <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 código generado por el archivo contendrá MsTest pruebas que son reconocibles por Visual Studio y se puede ejecutar con el build-it test runner.

No hay necesidad de uso de NUnit.

9voto

jbandi Puntos 4896

SpecFlow no proporciona un corredor en sí.
SpecFlow genera las bases para uno de la Unidad común de la Prueba-Marcos. En SpecFlow 1.3 NUnit (por defecto), MSTest y xUnit.net son compatibles (configurado en la Aplicación.config).

Para ejecutar los accesorios que usted tiene que utilizar un corredor que es capaz de ejecutar. ReSharper es una muy buena opción para un examen de corredor que es integratied en VisualStudio, pero no es gratis. ReSharper le da la "Ejecución de Pruebas de Unidad" en el menú contextual en el explorador de soluciones, al que se refiere.

Una alternativa para la integración de VisualStudio TestDriven.Net (además de ofrecer un menú de contexto).

Para NUnit también puede utilizar los corredores que vienen con NUnit sí mismo (no hay una interfaz gráfica de usuario-Corredor y un corredor de la línea de comandos).
Para MSTest puede utilizar el nativo de VisualStudio de integración para la ejecución de las pruebas (sin embargo, me parece que un poco torpe).
xUnit.net también viene con sus corredores, sin embargo, yo no estoy familiarizado con ellos.

Además, usted puede utilizar tareas de MSBuild para ejecutar los accesorios ...

6voto

Luke McGregor Puntos 11824

Sólo para actualizar esta pregunta, en las últimas versiones de specflow que debe utilizar, (uso MsTest.2010)

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

ver SpecFlow mal uso de NUnit

4voto

Alister Scott Puntos 2294

He escrito un post en el blog sobre cómo utilizar un archivo por lotes como una herramienta externa para ejecutar automáticamente SpecFlow características en NUnit y generar un informe html. Ver: http://watirmelon.com/2011/02/18/c-sharp-atdd-on-a-shoestring/

3voto

testerboy Puntos 211

El Specflow pruebas se ejecutan mediante el NUnit (GUI), que debe ser invocados externamente o, alternativamente, TestDriven.net o Resharper puede ser instalado para permitir la ejecución de las pruebas desde dentro de Visual Studio.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X