Veebis on palju artikleid, kuidas kasutada SpecFlow't ja kuidas seadistada TFS-i testide käivitamiseks, kuid ei ole ühtegi, mis sisaldaks kõiki aspekte. Artiklis räägin, kuidas teha SpecFlow stsenaariumide käivitamine ja redigeerimine mugavaks kõigile.
Allpool saate teada, kuidas saada:
- Testide käivitamine TFS-ist
- Automaatne stsenaariumide linkimine testjuhtumitega TFS-is
- Alati ajakohane testjuhtumite sisu TFS-is
- Võimalus redigeerida stsenaariume otse testimisversioonide kontrollsüsteemis

Eellugu
Meile esitati ülesanne automatiseerida rakenduse testimine, kasutades BDD lähenemist. Kuna meie ettevõtte peamine ülesande jälgimise süsteem on TFS, kujunes mu peas pilt, kus SpecFlow stsenaariumi sammud on TFS-i testjuhtumite sammud ja testide käivitamine toimub testiplaanidest. Räägin edasi, kuidas ma seda rakendasin.
Mida meil on vaja:
- Projekt testidega SpecFlow's
- Azure DevOps Server (tuntud ka kui Team Foundation Server)
- Tööriist SpecFlow stsenaariumide sünkroonimiseks testjuhtumitega TFS-is
Seadistamine
1. Projekti koostamine testide jaoks
Siin on kõik lihtne, koostamine ja artefaktide avaldamine. Kolmandast ülesandest räägin edasi.

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

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

3. Testjuhtumite sünkroniseerimine
Teame, et Visual Studio võimaldab testimeetodeid testjuhtumitega TFS-is lingida ja neid testiplaanidest käivitada. Et seda mitte käsitsi teha ning et sünkroniseerida stsenaariumide sisu, kirjutasin lihtsa konsooli rakenduse . Printsiip on lihtne — parsimine feature-failist ja TFS-i API kaudu testjuhtumite uuendamine.
Kuidas kasutada FeatureSync'i
Lisame nimeala ja lokaadi feature-faili päisesse:
#language:en
@Namespace:Application.Autotests
Feature: Log to application*namespace peab vaste olema .dll faili nimele, milles on testimeetodid
Loome TFS-is tühjad testjuhtumid ja lisame stsenaariumidele nende id-d sisaldavad sildid:

@2124573 @positiivne
Stsenaarium: Edukas autoriseerimine
Eeldan, et olen autoriseerimise lehel
Ja sisestan:
| Login | Parool |
| kasutaja | parool |
Kui ma vajutan Logi sisse nuppu
Siis brauser suunab mind avaleheleKäivitame FeatureSync'i:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzbaMeie juhul toimub käivitamine pärast testide projekti koostamist:

Sünkroniseerimise tulemus
SpecFlow stsenaariumi sammud on sünkroniseeritud ja määratud on staatuseks Automation


4. Testiplaani seadistamine
Loome testiplaani, lisame sellesse meie automatiseeritud juhtumid, seadetes valime koostamise ja versiooni


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

Kokkuvõte
Selle konfi plusse:
- iga testija saab avada feature faili veebivormis versioonihalduse jaoks, redigeerida seda ja muudatused jõustuvad kohe pärast koostamist
- testide käivitamine igal ajal eraldi
- läbipaistev testimismudel — teame alati, mida test, mille me käivitasime, teeb.
Allikas: habr.com

