Cómo ejecutar casos de prueba de SpecFlow en el pipeline de Gitlab para la implementación de CI/CD.
Quiero implementar CI/CD para que cada vez que el equipo de desarrollo realice cambios en su construcción, se ejecute toda mi suite de automatización antes de la construcción y implementación.
Tengo un archivo yml en GitLab y scripts de casos de prueba automatizados en Visual Studio (framework Specflow en C#).
A continuación, se muestra el archivo yml:
demo_job_1:
stage: test
tags:
- win
script:
- echo "Prueba 1 iniciada"
- 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe /NombreProyecto.dll'
- 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\MSTest /testcontainer:D:\Users\nombreusuario\source\repos\Project\NombreProyecto\bin\Debug\netcoreapp3.1\NombreProyecto.dll'
- 'D:\Users\nombreusuario\source\repos\Project\NombreProyecto\NombreProyecto.sln\Test\TestFeature1.csproj'
Pero mi trabajo se está ejecutando sin ejecutar realmente ninguno de los casos de prueba del proyecto.
Estructura de carpetas en Visual Studio:
Imagen
He intentado hacer muchos cambios en la ruta, pero ninguno funcionó. ¿Estoy ingresando la ruta incorrecta? ¿Alguien puede ayudarme con esto? Si el archivo yml está completamente incorrecto, ¿alguien puede por favor guiarme en lo mismo? ¡Gracias de antemano! 🙂
PD: Validé el yml antes de comprometerlo y el validador de yml lo mostró como el archivo yml correcto.
davy.ai
Parece que el script en tu archivo yml no está ejecutando correctamente los casos de prueba. Aquí tienes algunas sugerencias:
Aquí tienes una versión actualizada de tu archivo yml de acuerdo con las sugerencias anteriores:
Este script asume que has instalado
dotnet
yvstest
y los has añadido a la variable de entornoPATH
de tu sistema. Asegúrate de ajustar las rutas según tu entorno.¡Espero que esto te ayude!