Estas multaj artikoloj en la reto pri kiel uzi SpecFlow, kiel agordi TFS por ruli testojn, sed ne ekzistas unu kiu enhavas ĉiujn aspektojn. En ĉi tiu artikolo, mi rakontos al vi kiel vi povas fari lanĉon kaj redaktadon de SpecFlow-skriptoj oportune por ĉiuj.
Sub la tranĉo vi lernos kiel akiri:
- Kurante testojn de TFS
- Aŭtomata ligo de skriptoj al testaj kazoj en TFS
- Ĉiam ĝisdatigita enhavo de testkazoj en TFS
- Kapablo redakti skriptojn rekte en la versio-kontrolsistemo de testantoj
antaŭhistorio
Ni alfrontis la taskon aŭtomatigi aplikaĵtestadon per la BDD-aliro. Ĉar la bazo de la tasko-spura sistemo en nia kompanio estas TFS, mi havis bildon en mia kapo, kie la paŝoj de la SpecFlow-skripto estas la paŝoj de testaj kazoj en TFS, kaj testoj estas lanĉitaj de testaj planoj. Malsupre estas kiel mi efektivigis ĝin.
Kion ni bezonas:
- Projekto kun testoj pri SpecFlow
- Azure DevOps Server (alinome Team Foundation Server)
- Ilo por sinkronigi SpecFlow-skriptojn kun testkazoj en TFS
alĝustigo
1. Krei projekton kun testoj
Ĉio estas simpla ĉi tie, muntado kaj publikigo de artefaktoj. Pli pri la tria tasko poste.
2. Krei eldonon por ruli testojn
Krei eldonon kun unu tasko - Visual Studio Test
En ĉi tiu kazo, la tasko estas agordita por ruli testojn permane de la testa plano
3. Sinkronigo de testaj kazoj
Ni scias, ke Visual Studio permesas vin ligi testajn metodojn al testaj kazoj en TFS kaj ruli ilin de testaj planoj. Por ne fari tion permane, kaj ankaŭ por sinkronigi la enhavon de la skriptoj, mi verkis simplan konzolan aplikaĵon.
Kiel uzi FeatureSync
Aldonu nomspacon kaj lokaĵon al la ĉefdosierkapo:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*nomspaco devas kongrui kun la nomo de la .dll dosiero kiu enhavas la testajn metodojn
Ni kreas malplenajn provojn en TFS kaj aldonas etikedojn kun ilia id al la skriptoj:
@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
Lanĉi FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
En nia kazo, la lanĉo okazas post konstruado de la projekto kun testoj:
Sinkroniga rezulto
SpecFlow-skriptopaŝoj estas sinkronigitaj kaj Aŭtomatiga stato estas fiksita
4. Agordi testoplanon
Ni kreas testan planon, aldonas niajn aŭtomatigitajn kazojn al ĝi, elektas konstruon kaj liberigon en la agordoj
5. Kurado de provoj
Elektu la bezonatan teston en la testa plano kaj rulu ĝin.
konkludo
La avantaĝoj de ĉi tiu agordo:
- iu ajn elprovilo povas malfermi la fetaure dosieron en la versio-kontrola retformularo, redakti ĝin kaj la ŝanĝoj efektiviĝos tuj post la konstruo.
- vi povas fari provojn individue iam ajn
- travidebla testmodelo - ni ĉiam scias, kion faras la testo, kiun ni lanĉis.
fonto: www.habr.com