Në internet ka shumë artikuj mbi përdorimin e SpecFlow, si të konfigurohet TFS për të ekzekutuar teste, por nuk ka asnjë që të përfshijë të gjitha aspektet. Në këtë artikull do të flas se si mund ta bëjmë ekzekutimin dhe editimin e skenarëve SpecFlow të lehtë për të gjithë.
Nën këtë, do të mësoni si të merrni:
- Ekzekutimi i testeve nga TFS
- Lidhja automatike e skenarëve me raste të testimit në TFS
- Përmbajtja e rasteve të testimit gjithmonë e përditësuar në TFS
- Mundësia për të redaktuar skenarët direkt në sistemin e kontrollit të versioneve nga testuesit

Pas historia
Na u paraqit detyra për të automatizuar testimin e aplikacionit duke përdorur qasjen BDD. Duke qenë se sistemi kryesor i ndjekjes së detyrave në kompaninë tonë është TFS, në mendjen time u formua një pamje, ku hapat e skenarit SpecFlow — janë hapat e rasteve të testimit në TFS, dhe ekzekutimi i testeve bëhet nga planet e testeve. Më poshtë rreth asaj si e realizova këtë.
Çfarë na nevojitet:
- Projekt me teste në SpecFlow
- Azure DevOps Server (d.m.th. Team Foundation Server)
- Një mjet për të sinkronizuar skenarët SpecFlow me raste testimi në TFS
Konfigurimi
1. Krijimi i ndërtimit të projektit me teste
Këtu gjithçka është e thjeshtë, ndërtimi dhe publikimi i artefaktëve. Për detyrën e tretë do flas më tepër më poshtë.

2. Krijimi i një lëshimi për ekzekutimin e testeve
Krijojmë një lëshim me një detyrë — Testi në Visual Studio

Në këtë rast detyra është e konfiguruar për ekzekutimin manual të testeve nga plani i testeve

3. Sinkronizimi i rasteve të testeve
E dimë se Visual Studio lejon lidhjen e metodave të testit me rastet e testimit në TFS dhe ekzekutimin e tyre nga planet e testeve. Për të mos e bërë këtë manualisht, gjithashtu për të sinkronizuar përmbajtjen e skenarëve, kam shkruar një aplikacion të thjeshtë në konsolë . Parimi është i thjeshtë — analizojmë skedarin e karakteristikave dhe me ndihmën e API TFS përditësojmë rastet e testimit.
Si të përdorim FeatureSync
Shtoni namespace dhe lokalitetin në titullin e skedarit të karakteristikave:
#language:en
@Namespace:Application.Autotests
Feature: Log to application*namespace duhet të përputhet me emrin e skedarit .dll në të cilin ndodhen metodat e testeve
Krijoni raste testimi të zbrazëta në TFS dhe shtoni etiketa me ID e tyre në skenarë:

@2124573 @posistive
Scenario: Autorizimi i suksesshëm
Duke qenë se ndodhem në faqen e autorizimit
Dhe unë fut:
| Login | Password |
| user | pass |
Kur unë shtyp butonin Login
Atëherë shfletuesi më drejtë për në faqen e ShtëpisëEkzekutojmë FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzbaNë rastin tonë, ekzekutimi ndodh pas ndërtimit të projektit me teste:

Rezultati i sinkronizimit
Hapat SpecFlow të skenarit janë sinkronizuar dhe statusi Automation është vendosur


4. Konfigurimi i planit të testeve
Krijojmë një plan testi, shtojmë rastet tona të automatizuara, në konfigurime zgjedhim ndërtimin dhe lëshimin


5. Ekzekutimi i testeve
Zgjedhim testin e nevojshëm në planin e testeve dhe e ekzekutojmë.

Përfundimi
Pikat pozitive të këtij konfigurimi:
- Çdo testues mund të hapë skedarin e karakteristikave në formatin web të kontrollit të versioneve, ta redaktojë dhe ndryshimet do të hyjnë në fuqi menjëherë pas ndërtimit
- Mund të ekzekutoni teste në çdo moment veçmas
- Modeli i testit transparent — gjithmonë dimë se çfarë bën testi që kemi ekzekutuar.
Burimi: habr.com

