Ci hè parechje articuli in Internet nantu à cumu utilizà SpecFlow, cumu cunfigurà TFS per eseguisce e teste, ma ùn ci hè micca unu chì cuntene tutti l'aspettu. In questu articulu, vi dicu cumu pudete fà u lanciamentu è l'edità di script SpecFlow cunvene per tutti.
Sottu u tagliu, amparate cumu ottene:
- Esecuzione di teste da TFS
- Ligame automaticu di script à i casi di teste in TFS
- Contenutu sempre aghjurnatu di i casi di teste in TFS
- Capacità di edità script direttamente in u sistema di cuntrollu di versione da i testatori
Pristoria
Avemu statu di fronte à u compitu di automatizà a prova di l'applicazioni utilizendu l'approcciu BDD. Siccomu a basa di u sistema di seguimentu di u travagliu in a nostra cumpagnia hè TFS, aghju avutu una stampa in u mo capu induve i passi di u script SpecFlow sò i passi di i casi di teste in TFS, è e teste sò lanciate da i piani di teste. Quì sottu hè cumu l'aghju implementatu.
Ciò chì avemu bisognu:
- Prughjettu cù teste nantu à SpecFlow
- Servitore Azure DevOps (aka Team Foundation Server)
- Un strumentu per sincronizà script SpecFlow cù casi di teste in TFS
cutter
1. Crià un prughjettu custruitu cù testi
Tuttu hè simplice quì, assemblea è publicazione di artefatti. Più nantu à u terzu compitu dopu.
2. Crià una liberazione per eseguisce testi
Creazione di una liberazione cù un compitu - Test Visual Studio
In questu casu, u compitu hè cunfiguratu per eseguisce testi manualmente da u pianu di prova
3. Sincronizazione di i casi di teste
Sapemu chì Visual Studio vi permette di ligà i metudi di teste à i casi di teste in TFS è eseguite da i piani di prova. Per ùn fà micca questu manualmente, è ancu per sincronizà u cuntenutu di i scripts, aghju scrittu una semplice applicazione di cunsola.
Cumu aduprà FeatureSync
Aghjunghjite u spaziu di nomi è locale à l'intestazione di u schedariu di funziunalità:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
* namespace deve currisponde à u nome di u schedariu .dll chì cuntene i metudi di teste
Creemu casi di teste vacanti in TFS è aghjunghjenu tag cù u so id à i 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
Lanciate FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
In u nostru casu, u lanciamentu si faci dopu à custruisce u prughjettu cù testi:
Risultu di sincronizazione
I passi di script SpecFlow sò sincronizati è u statutu di l'automatizazione hè stabilitu
4. Stabbilimentu di un pianu di prova
Creemu un pianu di prova, aghjunghjenu i nostri casi automatizati, selezziunate custruisce è liberate in i paràmetri
5. Testi di corsa
Selezziunate a prova necessaria in u pianu di prova è eseguite.
cunchiusioni
I vantaghji di sta cunfigurazione:
- Qualchese tester pò apre u schedariu fetaure in a forma web di cuntrollu di versione, edità è i cambiamenti entranu in vigore immediatamente dopu a custruzione.
- pudete eseguisce teste individualmente in ogni mumentu
- mudellu di prova trasparente - sapemu sempre ciò chì face a prova chì avemu lanciatu.
Source: www.habr.com