Acabo de (hoy) intenté SpecFlow por primera vez. Estoy jugando creando una nueva biblioteca de clases en VS2010 Pro y agregando un archivo de definición de funciones de SpecFlow.SpecFlow que usa incorrectamente NUnit
La cosa es que la integración no parece funcionar correctamente, con una variedad de errores diferentes. Seleccioné a MsTest como el corredor de prueba, porque no me molestaría invocar NUnit (me gustaría usar NUnit a largo plazo, pero de momento solo quiero que funcione un código BDD). Sin embargo, los archivos de código generados continúan haciendo referencia a NUnit, lo que obviamente es incorrecto, ya que acabo de decirle a SpecFlow que se ejecute con MsTest. He hecho todo lo posible para invocar nuevamente la generación de código, incluida la creación de un nuevo proyecto de biblioteca de clase con la opción MsTest seleccionada en Herramientas> Opciones> SpecFlow.
Si dejo el campo del corredor de pruebas establecido en 'Auto' y hago clic con el botón derecho en un archivo de características, selecciono 'Ejecutar escenarios de SpecFlow' Aparece el mensaje de error "No se pudo encontrar el corrector de prueba coincidente".
Si cambio el campo del corredor de prueba a MsTest, aparece un mensaje de error diferente al hacer lo mismo: "Referencia de objeto no configurada para una instancia de un objeto". No me sorprende esta, ya que todavía está intentando ejecutar pruebas de NUnit a pesar de que he pedido explícitamente MsTest, aunque obviamente no debería ser nula y presentar eso al usuario.
¿Qué estoy haciendo mal? La documentación no es útil, y hasta donde puedo ver, no hay preguntas frecuentes.
edición # 1: He establecido que el ajuste real que estoy buscando se proporciona el uso de App.Config
utilizando el campo <unitTestProvider name="MsTest" />
. Puedo ver lo que sucedió: el campo en el menú de opciones de Visual Studio no parece modificar el proyecto en el que está trabajando actualmente. La cosa es que esto hace que parezca que ese campo no hace nada en absoluto. Ahora he convencido a SpecFlow de que genere clases MsTest y se ejecute utilizando el corredor MSTest.
Así que ahora la pregunta se transforma en una levemente diferente: ¿Qué (si acaso) funciona el campo Herramientas> Opciones> SpecFlow> Herramienta de prueba de corredor?
¡Un gran consejo, gracias! Inicialmente configuré el botón de menú porque parecía tan útil, por lo que, independientemente de esta línea de investigación, me proporcionó un práctico beneficio lateral. Lástima de SpecFlow, parece que no soy el único que ha tenido problemas con lo que se supone que debe hacer. El producto real funciona, pero la integración VS no es del todo correcta. –
Sí, ojalá estuviera más integrado, pero estoy de acuerdo con eso por ahora. Su uso supera ese beneficio para mí en este momento. Me alegra que la punta ayude! – MichaelF
¿Ha ejecutado el instalador de flujo de datos o lo ha agregado a su proyecto con NuGet? El instalador instalará todos los componentes de integración, como la integración de Visual Studio, donde la instalación nuget solo agrega las referencias necesarias. –