Në internet ka shumë artikuj për përdorimin e SpecFlow-it, si të konfigurosh TFS për të ekzekutuar teste, por nuk ka asnjë që përfshin të gjitha aspektet. Në këtë artikull do të flas se si mund të bëjmë ekzekutimin dhe redaktimin e skenarëve SpecFlow më të lehtë për të gjithë.
Pas katit do të mësoni se si të merrni:
- Ekzekutimi i testeve nga TFS
- Lidhja automatike e skenarëve me testet në TFS
- Përmbajtja gjithmonë aktuale e testeve në TFS
- Mundësia për të redaktuar skenarët direkt në sistemin e kontrollit të versioneve nga testerët

Historia e mëparshme
Ne hasëm në detyrën 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 formohet një pamje ku hapat e skenarëve SpecFlow janë hapat e testeve në TFS, dhe ekzekutimi i testeve bëhet nga planet e testeve. Më poshtë do të flas se si e realizova këtë.
ĂfarĂ« na nevojitet:
- Një projekt me teste në SpecFlow
- Azure DevOps Server (aka Team Foundation Server)
- Një mjet për të sinkronizuar skenarët SpecFlow me testet në TFS
Configuration
1. Krijimi i ndërtimit të projektit me teste
Këtu gjithçka është e thjeshtë, ndërtimi dhe publikimi i artefakteve. Më shumë për detyrën e tretë më poshtë.

2. Krijimi i një publikimi për ekzekutimin e testeve
KrijojmĂ« njĂ« publikim me njĂ« detyrĂ« â Testi i Visual Studio

Në këtë rast, detyra është konfigurimi për të ekzekutuar testet manualisht nga plani i testeve

3. Sinkronizimi i testeve
E dimĂ« qĂ« Visual Studio lejon lidhjen e metodave testuese me testet nĂ« TFS dhe ekzekutimin e tyre nga planet e testeve. PĂ«r tĂ« mos e bĂ«rĂ« kĂ«tĂ« manualisht, si dhe pĂ«r tĂ« sinkronizuar pĂ«rmbajtjen e skenarĂ«ve, shkrova njĂ« aplikacion tĂ« thjeshtĂ« konsolĂ« . Parimi Ă«shtĂ« i thjeshtĂ« â parse-fajllin e funksioneve dhe me anĂ« tĂ« API TFS pĂ«rditĂ«sojmĂ« testet.
Si të përdorim FeatureSync
Shtojmë hapësirën e emrave dhe lokalitetin në titullin e fajllit të funksioneve:
#language:en
@Namespace:Application.Autotests
Feature: Log to application*hapësira e emrave duhet të përputhet me emrin e fajllit .dll në të cilin gjenden metodat e testeve
Krijojmë teste të zbrazëta në TFS dhe shtojmë etiketat me ID e tyre te skenarët:

@2124573 @pozitive
Scenario: Autorizimi i suksesshëm
Duke pasur parasysh se ndodhem në faqen e autorizimit
Dhe unë fut:
| Login | Password |
| përdorues | kalim |
Kur unë shtyp butonin Login
Atëherë shfletuesi rredirecton në faqen kryesoreEkzekutojmë FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-tokeni-juaj-tfs-2d7sjwfbj7rzbaNë rastin tonë, ekzekutimi ndodh pas ndërtimit të projektit me teste:

Rezultati i sinkronizimit
Hapat e skenarëve SpecFlow janë sinkronizuar dhe statusi është vendosur në Automatizim


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


5. Nisja e testeve
Zgjedhim testin e nevojshëm në planin e testit dhe e nisim.

Përfundim
Avantazhet e këtij konfigurimi:
- çdo testues mund të hapë skedarin fetaure në formën e kontrollit të versioneve, ta editojë atë dhe ndryshimet do të hyjnë në fuqi menjëherë pas ndërtimit.
- mund të nisin testet në çdo moment, veç e veç.
- modeli i testimit të qartë - gjithmonë dimë se çfarë bën testi që ne e nisëm.
Burimi: habr.com

