Hi ha molts articles a Internet sobre com utilitzar SpecFlow, com configurar TFS per executar proves, però no n'hi ha cap que contingui tots els aspectes. En aquest article, us explicaré com podeu fer que el llançament i l'edició de scripts SpecFlow siguin convenients per a tothom.
A continuació del tall aprendràs a aconseguir-ho:
- Execució de proves des de TFS
- Enllaç automàtic d'scripts a casos de prova en TFS
- Contingut sempre actualitzat dels casos de prova a TFS
- Possibilitat d'editar scripts directament al sistema de control de versions per part dels provadors
prehistòria
Ens vam enfrontar a la tasca d'automatitzar les proves d'aplicacions mitjançant l'enfocament BDD. Com que la base del sistema de seguiment de tasques a la nostra empresa és TFS, tenia una imatge al cap on els passos de l'script SpecFlow són els passos dels casos de prova a TFS i les proves es llancen a partir de plans de prova. A continuació es mostra com el vaig implementar.
El que necessitem:
- Projecte amb proves a SpecFlow
- Servidor Azure DevOps (també conegut com Team Foundation Server)
- Una eina per sincronitzar scripts SpecFlow amb casos de prova a TFS
ajust
1. Creació d'un projecte de construcció amb proves
Aquí tot és senzill, muntatge i publicació d'artefactes. Més endavant més sobre la tercera tasca.
2. Creació d'una versió per executar proves
Creació d'una versió amb una tasca: Visual Studio Test
En aquest cas, la tasca està configurada per executar proves manualment des del pla de proves
3. Sincronització de casos de prova
Sabem que Visual Studio us permet enllaçar mètodes de prova amb casos de prova a TFS i executar-los des de plans de prova. Per no fer-ho manualment, i també per sincronitzar el contingut dels scripts, vaig escriure una senzilla aplicació de consola
Com utilitzar FeatureSync
Afegiu l'espai de noms i la configuració regional a la capçalera del fitxer de funcions:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*L'espai de noms ha de coincidir amb el nom del fitxer .dll que conté els mètodes de prova
Creem casos de prova buits a TFS i afegim etiquetes amb el seu identificador als 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
Inicieu FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
En el nostre cas, el llançament es produeix després de construir el projecte amb proves:
Resultat de la sincronització
Els passos d'script de SpecFlow es sincronitzen i s'estableix l'estat d'automatització
4. Configuració d'un pla de proves
Creem un pla de prova, hi afegim els nostres casos automatitzats, seleccionem la creació i el llançament a la configuració
5. Execució de proves
Seleccioneu la prova necessària al pla de proves i executeu-la.
Conclusió
Els avantatges d'aquesta configuració:
- qualsevol provador pot obrir el fitxer fetaure al formulari web de control de versions, editar-lo i els canvis tindran efecte immediatament després de la compilació
- podeu executar proves individualment en qualsevol moment
- model de prova transparent: sempre sabem què fa la prova que vam llançar.
Font: www.habr.com