Internetis on palju artikleid, kuidas kasutada SpecFlow'd, kuidas seadistada TFS testide käivitamiseks, kuid pole ühtegi, mis kataks kõiki aspekte. Selles artiklis räägin, kuidas teha SpecFlow stsenaariumite käivitamine ja redigeerimine mugavaks kõigile.
Loe allpool, kuidas saada:
- Testide käitamine TFS-ist
- Stsenaariumide automaatne linkimine TFS-i testikarpidega
- TFS-i testikarpide sisu alati ajakohane
- Võimalus redigeerida stsenaariume otse versioonihaldussüsteemis testijate jaoks

Eelalugu
Seisime silmitsi ülesandega automatiseerida rakenduse testimine, kasutades BDD lähenemist. Kuna meie ettevõttes on põhitegevuse jälgimise süsteemiks TFS, kujutasin ma ette, et SpecFlow stsenaariumi sammud on TFS-i testikarpide sammud ja testide käitamine toimub testiplaanidest. Järgnevalt kirjeldan, kuidas ma seda ellu viisin.
Kuidas me seda teeme:
- Projekt, millel on SpecFlow testid
- Azure DevOps Server (aka Team Foundation Server)
- Tööriist SpecFlow stsenaariumide sünkroniseerimiseks TFS-i testikarpidega
Seadistamine
1. Projekti testide koostamine
Siin on kõik lihtne, koostamine ja artefaktide avaldamine. Kolmanda ülesande kohta lähemalt hiljem.

2. Väljaande loomine testide käivitamiseks
Loome väljaande ühe ülesandega — Visual Studio Test

Antud juhul on ülesanne seadistatud testide käsitsi käivitamiseks testiplaanist

3. Testkestade sünkroniseerimine
Teame, et Visual Studio võimaldab linkida testmeetodeid testkestadega TFS-is ja käivitada neid testiplaanidest. Selleks, et mitte teha seda käsitsi ning et sünkroniseerida stsenaariumide sisu, kirjutasin lihtsa konsooli rakenduse . Põhimõte on lihtne — parsimme feature faili ja TFS API kaudu värskendame testkestasid.
Kuidas kasutada FeatureSync'i
Lisa nimetüüp ja lokaliseerimine feature faili päises:
#language:en
@Namespace:Application.Autotests
Feature: Log to application*nimetüüp peab olema sama, mis .dll faili nimi, milles testmeetodid asuvad
Loo TFS-is tühjad testkestad ja lisa stsenaariumidele nende ID-d sisaldavad sildid:

@2124573 @positive
Stsenaarium: Edukas autoriseerimine
Given Ma olen autoriseerimislehel
Ja ma sisestan:
| Logi sisse | Parool |
| kasutaja | salasõna |
Kui ma vajutan Logi sisse nuppu
Siis Brauser suunab mind Kodulehe pealeKäivitame FeatureSync'i:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzbaMeie juhul käivitamine toimub pärast projekti kogumist testidega:

Sünkroniseerimise tulemus
Sünkroniseeritud SpecFlow stsenaariumi sammud ja määratud status Automation


4. Testiplaani seadistamine
Loome testiplaani, lisame sinna meie automatiseeritud juhtumid, valime seadetes versiooni ja väljaande


5. Testide käivitamine
Valime testiplaanist vajaliku testi ja käivitame selle.

Kokkuvõte
Selle konfiguratsiooni eelised:
- iga testija saab avada fetaure faili versioonihalduse veebivormis, redigeerida seda ja muudatused jõustuvad kohe pärast versiooni väljalaskmist
- testide käivitamist saab teha igal ajal eraldi
- läbipaistev testimismudel — teame alati, mida test teeb, mille käivitasime.
Allikas: habr.com

