Na internete je množstvo článkov o tom, ako používať SpecFlow, ako nastaviť TFS na spúšťanie testov, ale žiadny článok neobsahuje všetky aspekty. V článku sa podelím o to, ako urobiť spúšťanie a úpravu scénarov SpecFlow pohodlné pre všetkých.
Pod rozšírením sa dozviete, ako získať:
- Spúšťanie testov z TFS
- Automatické prepojenie scenárov na testovací prípady v TFS
- Vždy aktuálny obsah testovacích prípadov v TFS
- Možnosť upravovať scenáre priamo v systéme správy verzií testerami

Pozadie
Pred nami stála úloha automatizovať testovanie aplikácie pomocou prístupu BDD. Keďže základným systémom sledovania úloh v našej spoločnosti je TFS, v mojej hlave sa vytvoril obraz, v ktorom kroky scenára SpecFlow sú kroky testovacích prípadov v TFS a spúšťanie testov sa uskutočňuje z testovacích plánov. Ďalej popíšem, ako som to realizoval.
Čo budeme potrebovať:
- Projekt s testami na SpecFlow
- Azure DevOps Server (aka Team Foundation Server)
- Nástroj na synchronizáciu scenárov SpecFlow s testovacími prípadmi v TFS
Nastavenie
1. Vytvorenie zostavy projektu s testami
Tu je všetko jednoduché, zostavenie a publikácia artefaktov. O tretej úlohe podrobnejšie ďalej.

2. Vytvorenie vydania na spúšťanie testov
Vytvoríme vydanie s jednou úlohou — Visual Studio Test

V tomto prípade je úloha nastavená na spúšťanie testov manuálne z testovacieho plánu

3. Synchronizácia testovacích prípadov
Vieme, že Visual Studio umožňuje prepojiť testovacie metódy s testovacími prípadmi v TFS a spúšťať ich z testovacích plánov. Aby sme to nemuseli robiť manuálne a tiež na synchronizáciu obsahu scénarov, napísal som jednoduchú konzolovú aplikáciu . Princíp je jednoduchý — parsujeme feature súbor a pomocou TFS API aktualizujeme testovacie prípady.
Ako používať FeatureSync
Pridajte namespace a lokalizáciu do hlavičky feature súboru:
#language:en
@Namespace:Application.Autotests
Feature: Log to application*namespace by mal zodpovedať názvu .dll súboru, v ktorom sa nachádzajú testovacie metódy
Vytvoríme prázdne testovacie prípady v TFS a pridáme štítky s ich ID k scénarom:

@2124573 @pozitívny
Scenár: Úspešná autorizácia
Given Sa na stránke autorizácie
And Zadajte:
| Login | Heslo |
| používateľ | pass |
When Stlačím tlačidlo prihlásenia
Then Prehliadač presmeruje na domovskú stránkuSpustíme FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzbaV našom prípade sa spustenie uskutočňuje po zostavení projektu s testami:

Výsledok synchronizácie
Synchronizované kroky scenára SpecFlow a bol nastavený stav Automatizácia


4. Nastavenie testovacieho plánu
Vytvárame testovací plán, pridávame doň naše automatizované prípady, v nastaveniach vyberáme zostavenie a vydanie


5. Spustenie testov
Vyberáme potrebný test v testovacom pláne a spúšťame ho.

Záver
Výhody takejto konfigurácie:
- ktorýkoľvek tester môže otvoriť feature súbor vo webovej forme správy verzií, upraviť ho a zmeny nadobudnú účinnosť ihneď po zostavení
- je možné spúšťať testy kedykoľvek samostatne
- priehľadný testovací model — vždy vieme, čo robí test, ktorý sme spustili.
Zdroj: habr.com

