Hai moitos artigos en Internet sobre como usar SpecFlow, como configurar TFS para executar probas, pero non hai ningún que conteña todos os aspectos. Neste artigo, vouche dicir como podes facer que o lanzamento e a edición de scripts SpecFlow sexan cómodos para todos.
Debaixo do corte aprenderás a conseguir:
- Execución de probas desde TFS
- Vinculación automática de scripts a casos de proba en TFS
- Contido sempre actualizado dos casos de proba en TFS
- Capacidade de editar scripts directamente no sistema de control de versións por parte dos probadores
prehistoria
Enfrontámonos á tarefa de automatizar as probas de aplicacións mediante o enfoque BDD. Dado que a base do sistema de seguimento de tarefas na nosa empresa é TFS, tiña unha imaxe na miña cabeza onde os pasos do script SpecFlow son os pasos dos casos de proba en TFS e as probas lánzanse a partir de plans de proba. A continuación móstrase como o implementei.
O que necesitamos:
- Proxecto con probas en SpecFlow
- Servidor Azure DevOps (tamén coñecido como Team Foundation Server)
- Unha ferramenta para sincronizar scripts SpecFlow con casos de proba en TFS
axuste
1. Creación dunha compilación de proxecto con probas
Aquí todo é sinxelo, montaxe e publicación de artefactos. Máis sobre a terceira tarefa máis tarde.
2. Creación dunha versión para executar probas
Crear unha versión cunha tarefa: Visual Studio Test
Neste caso, a tarefa está configurada para executar probas manualmente desde o plan de probas
3. Sincronización de casos de proba
Sabemos que Visual Studio permítelle vincular métodos de proba a casos de proba en TFS e executalos desde os plans de proba. Para non facelo manualmente, e tamén para sincronizar o contido dos scripts, escribín unha sinxela aplicación de consola
Como usar FeatureSync
Engade espazo de nomes e configuración rexional á cabeceira do ficheiro de funcións:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*espazo de nomes debe coincidir co nome do ficheiro .dll que contén os métodos de proba
Creamos casos de proba baleiros en TFS e engadimos etiquetas co seu ID aos scripts:
@2124573 @posistive
Scenario: Successful authorization
Given I on authorization page
And I enter:
| Login | Password |
| user | pass |
When I press Login button
Then Browser redirect on Home page
Iniciar FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
No noso caso, o lanzamento prodúcese despois de construír o proxecto con probas:
Resultado da sincronización
Os pasos de guión de SpecFlow están sincronizados e o estado de automatización está definido
4. Configurar un plan de proba
Creamos un plan de proba, engadímoslle os nosos casos automatizados, seleccionamos compilar e lanzar na configuración
5. Realización de probas
Seleccione a proba necesaria no plan de proba e execútaa.
Conclusión
As vantaxes desta configuración:
- calquera probador pode abrir o ficheiro fetaure no formulario web de control de versións, editalo e os cambios entrarán en vigor inmediatamente despois da compilación.
- pode realizar probas individualmente en calquera momento
- modelo de proba transparente: sempre sabemos o que fai a proba que lanzamos.
Fonte: www.habr.com