Konvena BDD: SpecFlow+TFS

Estas multaj artikoloj en la reto pri kiel uzi SpecFlow, kiel agordi TFS por ruli testojn, sed ne ekzistas unu kiu enhavas ĉiujn aspektojn. En ĉi tiu artikolo, mi rakontos al vi kiel vi povas fari lanĉon kaj redaktadon de SpecFlow-skriptoj oportune por ĉiuj.

Sub la tranĉo vi lernos kiel akiri:

  • Kurante testojn de TFS
  • Aŭtomata ligo de skriptoj al testaj kazoj en TFS
  • Ĉiam ĝisdatigita enhavo de testkazoj en TFS
  • Kapablo redakti skriptojn rekte en la versio-kontrolsistemo de testantoj
    Konvena BDD: SpecFlow+TFS

antaŭhistorio

Ni alfrontis la taskon aŭtomatigi aplikaĵtestadon per la BDD-aliro. Ĉar la bazo de la tasko-spura sistemo en nia kompanio estas TFS, mi havis bildon en mia kapo, kie la paŝoj de la SpecFlow-skripto estas la paŝoj de testaj kazoj en TFS, kaj testoj estas lanĉitaj de testaj planoj. Malsupre estas kiel mi efektivigis ĝin.

Kion ni bezonas:

  1. Projekto kun testoj pri SpecFlow
  2. Azure DevOps Server (alinome Team Foundation Server)
  3. Ilo por sinkronigi SpecFlow-skriptojn kun testkazoj en TFS

alĝustigo

1. Krei projekton kun testoj

Ĉio estas simpla ĉi tie, muntado kaj publikigo de artefaktoj. Pli pri la tria tasko poste.

Konvena BDD: SpecFlow+TFS

2. Krei eldonon por ruli testojn

Krei eldonon kun unu tasko - Visual Studio Test

Konvena BDD: SpecFlow+TFS

En ĉi tiu kazo, la tasko estas agordita por ruli testojn permane de la testa plano

Konvena BDD: SpecFlow+TFS

3. Sinkronigo de testaj kazoj

Ni scias, ke Visual Studio permesas vin ligi testajn metodojn al testaj kazoj en TFS kaj ruli ilin de testaj planoj. Por ne fari tion permane, kaj ankaŭ por sinkronigi la enhavon de la skriptoj, mi verkis simplan konzolan aplikaĵon. FeatureSync. La principo estas simpla - ni analizas la trajtodosieron kaj ĝisdatigas la testkazojn per la TFS-API.

Kiel uzi FeatureSync

Aldonu nomspacon kaj lokaĵon al la ĉefdosierkapo:

#language:en
@Namespace:Application.Autotests
Feature: Log to application

*nomspaco devas kongrui kun la nomo de la .dll dosiero kiu enhavas la testajn metodojn

Ni kreas malplenajn provojn en TFS kaj aldonas etikedojn kun ilia id al la skriptoj:

Konvena BDD: SpecFlow+TFS

@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

Lanĉi FeatureSync:

FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba

En nia kazo, la lanĉo okazas post konstruado de la projekto kun testoj:

Konvena BDD: SpecFlow+TFS

Sinkroniga rezulto

SpecFlow-skriptopaŝoj estas sinkronigitaj kaj Aŭtomatiga stato estas fiksita

Konvena BDD: SpecFlow+TFS

Konvena BDD: SpecFlow+TFS

4. Agordi testoplanon

Ni kreas testan planon, aldonas niajn aŭtomatigitajn kazojn al ĝi, elektas konstruon kaj liberigon en la agordoj

Konvena BDD: SpecFlow+TFS

Konvena BDD: SpecFlow+TFS

5. Kurado de provoj

Elektu la bezonatan teston en la testa plano kaj rulu ĝin.

Konvena BDD: SpecFlow+TFS

konkludo

La avantaĝoj de ĉi tiu agordo:

  • iu ajn elprovilo povas malfermi la fetaure dosieron en la versio-kontrola retformularo, redakti ĝin kaj la ŝanĝoj efektiviĝos tuj post la konstruo.
  • vi povas fari provojn individue iam ajn
  • travidebla testmodelo - ni ĉiam scias, kion faras la testo, kiun ni lanĉis.

fonto: www.habr.com

Aldoni komenton