Internete yra daug straipsnių apie tai, kaip naudoti SpecFlow, kaip sukonfigūruoti TFS, kad būtų vykdomi testai, tačiau nėra vieno, kuriame būtų pateikti visi aspektai. Šiame straipsnyje papasakosiu, kaip padaryti, kad SpecFlow scenarijų paleidimas ir redagavimas būtų patogus visiems.
Žemiau pjūvio sužinosite, kaip gauti:
- Testai vykdomi iš TFS
- Automatinis scenarijų susiejimas su bandomaisiais atvejais TFS
- Visada atnaujintas TFS bandomųjų atvejų turinys
- Galimybė testuotojams redaguoti scenarijus tiesiogiai versijų valdymo sistemoje
priešistorė
Mes susidūrėme su užduotimi automatizuoti programų testavimą naudojant BDD metodą. Kadangi užduočių sekimo sistemos pagrindas mūsų įmonėje yra TFS, galvoje turėjau vaizdą, kur SpecFlow scenarijaus žingsniai yra TFS testavimo atvejų žingsniai, o testai paleidžiami iš testavimo planų. Žemiau yra kaip aš tai įgyvendinau.
Ko mums reikia:
- Projektas su „SpecFlow“ bandymais
- „Azure DevOps Server“ (dar žinomas kaip „Team Foundation Server“)
- Įrankis, skirtas sinchronizuoti SpecFlow scenarijus su bandomaisiais atvejais TFS
reguliavimas
1. Projekto kūrimo su bandymais kūrimas
Čia viskas paprasta, artefaktų surinkimas ir publikavimas. Daugiau apie trečiąją užduotį vėliau.
2. Sukurkite leidimą testams vykdyti
Leidinio kūrimas su viena užduotimi – Visual Studio Test
Tokiu atveju užduotis sukonfigūruota taip, kad testus būtų galima vykdyti rankiniu būdu iš testavimo plano
3. Bandomųjų atvejų sinchronizavimas
Žinome, kad „Visual Studio“ leidžia susieti bandymo metodus su bandomaisiais atvejais TFS ir paleisti juos iš bandymo planų. Kad to nedarytų rankiniu būdu, taip pat norėdamas sinchronizuoti scenarijų turinį, parašiau paprastą konsolės programą
Kaip naudoti „FeatureSync“.
Pridėkite vardų erdvę ir lokalę prie funkcijos failo antraštės:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*vardų erdvė turi atitikti .dll failo, kuriame yra bandymo metodai, pavadinimą
TFS kuriame tuščius bandomuosius atvejus ir prie scenarijų pridedame žymas su jų ID:
@2124573 @posistive
Scenario: Successful authorization
Given I on authorization page
And I enter:
| Login | Password |
| user | pass |
When I press Login button
Then Browser redirect on Home page
Paleiskite „FeatureSync“:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
Mūsų atveju paleidimas įvyksta sukūrus projektą su bandymais:
Sinchronizacijos rezultatas
SpecFlow scenarijaus žingsniai sinchronizuojami ir nustatoma automatizavimo būsena
4. Bandymo plano sudarymas
Sudarome testavimo planą, pridedame prie jo savo automatizuotus atvejus, nustatymuose pasirenkame kūrimą ir išleidimą
5. Testų vykdymas
Testavimo plane pasirinkite reikiamą testą ir paleiskite jį.
išvada
Šios konfigūracijos pranašumai:
- bet kuris bandytojas gali atidaryti fetaure failą versijos valdymo žiniatinklio formoje, jį redaguoti ir pakeitimai įsigalios iš karto po sukūrimo
- bet kuriuo metu galite atlikti testus atskirai
- skaidrus bandymo modelis – mes visada žinome, ką daro mūsų pradėtas testas.
Šaltinis: www.habr.com