Tīmeklī ir daudz rakstu par to, kā izmantot SpecFlow, kā iestatīt TFS testu palaišanai, taču nav neviena, kas aptvertu visus aspektus. Šajā rakstā es izstāstīšu, kā padarīt SpecFlow skriptu palaišanu un rediģēšanu ērti visiem.
Zemāk jūs uzzināsiet, kā iegūt:
- Testu palaišana no TFS
- Automātiska skriptu sasaistīšana ar testu gadījumiem TFS
- Vienmēr aktuāla testu gadījumu saturība TFS
- Iespēja rediģēt skriptus tieši versiju kontrolē, ko veic testētāji

Iepriekšējā pieredze
Mums bija jāizpilda uzdevums automatizēt lietojumprogrammu testēšanu, izmantojot BDD pieeju. Tā kā mūsu uzņēmumā pamata uzdevumu izsekošanas sistēma ir TFS, manā galvā izveidojās aina, kur SpecFlow skriptu soļi ir testu gadījumu soļi TFS, un testu palaišana notiek no testu plāniem. Tālāk stāstīšu, kā es to īstenoju.
Ko mums vajadzēs:
- Projekts ar SpecFlow testiem
- Azure DevOps Server (pazīstams arī kā Team Foundation Server)
- Rīks SpecFlow skriptu sinhronizēšanai ar testu gadījumiem TFS
Iestatījumi
1. Projekta ar testiem izveide
Šeit viss ir vienkārši, izveidot un publicēt artefaktus. Par trešo uzdevumu vairāk tālāk.

2. Atbrīvošana testu palaišanai
Izveidojam atbrīvošanu ar vienu uzdevumu — Visual Studio Test

Šajā gadījumā uzdevums ir iestatīts manuāli palaist testus no testu plāna

3. Testu gadījumu sinhronizācija
Mēs zinām, ka Visual Studio ļauj sasaistīt testēšanas metodes ar testu gadījumiem TFS un palaist tos no testu plāniem. Lai to nedarītu manuāli, kā arī, lai sinhronizētu skriptu saturu, es uzrakstīju vienkāršu konsoles lietojumprogrammu . Principi ir vienkārši — mēs analizējam feature failu un, izmantojot TFS API, atjauninām testu gadījumus.
Kā izmantot FeatureSync
Pievienojam namespace un lokalizāciju feature faila virsrakstā:
#language:en
@Namespace:Application.Autotests
Feature: Log to application*namespace jāatbilst .dll faila nosaukumam, kurā ir testēšanas metodes
Izveidojam tukšus testu gadījumus TFS un pievienojam tagus ar to id skriptiem:

@2124573 @positīvs
Scenario: Veiksmīga autorizācija
Dota, ka esmu autorizācijas lapā
Un es ievadu:
| Lietotājvārds | Parole |
| lietotājs | parole |
Kad es nospiežu Pieteikšanās pogu
Tad Pārlūks novirza uz sākumlapuPalaist FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzbaMūsu gadījumā palaišana notiek pēc projekta ar testiem izveides:

Sinhronizācijas rezultāts
SpecFlow skriptu soļi tika sinhronizēti un tika norādīts Automātisko statusu


4. Testu plāna iestatīšana
Izveidojam testēšanas plānu, pievienojam tam mūsu automatizētos gadījumus, iestatījumos izvēlamies būvējumu un izlaidumu


5. Testu palaišana
Izvēlamies nepieciešamo testu testēšanas plānā un to palaist.

Secinājums
Šī konfigurācijas priekšrocības:
- ikviens testētājs var atvērt fētera failu tīmekļa versiju kontroles formā, rediģēt to, un izmaiņas stāsies spēkā nekavējoties pēc būvējuma
- var palaist testus jebkurā brīdī atsevišķi
- caurspīdīga testēšanas modeļa — vienmēr zinām, ko dara tests, ko mēs esam palaiduši.
Avots: habr.com

