Gerieflike BDD: SpecFlow + TFS

Daar is baie artikels op die netwerk oor hoe om SpecFlow te gebruik, hoe om TFS op te stel om toetse uit te voer, maar daar is nie een wat al die aspekte bevat nie. In hierdie artikel sal ek jou vertel hoe jy die bekendstelling en redigering van SpecFlow-skrifte vir almal gerieflik kan maak.

Onder die snit sal jy leer hoe om:

  • Lopende toetse vanaf TFS
  • Outomatiese koppeling van skrifte na toetsgevalle in TFS
  • Altyd bygewerkte inhoud van toetsgevalle in TFS
  • Vermoë om skrifte direk in die weergawebeheerstelsel deur toetsers te wysig
    Gerieflike BDD: SpecFlow + TFS

voorgeskiedenis

Ons het voor die taak gestaan ​​om toepassingstoetsing te outomatiseer deur die BDD-benadering te gebruik. Aangesien die basis van die taakopsporingstelsel in ons maatskappy TFS is, het ek 'n prentjie in my kop gehad waar die stappe van die SpecFlow-skrip die stappe van toetsgevalle in TFS is, en toetse vanaf toetsplanne van stapel gestuur word. Hieronder is hoe ek dit geïmplementeer het.

Wat ons nodig het:

  1. Projek met toetse op SpecFlow
  2. Azure DevOps Server (ook bekend as Team Foundation Server)
  3. 'n Hulpmiddel om SpecFlow-skrifte met toetsgevalle in TFS te sinchroniseer

aanpassing

1. Skep 'n projekbou met toetse

Alles is eenvoudig hier, samestelling en publikasie van artefakte. Meer oor die derde taak later.

Gerieflike BDD: SpecFlow + TFS

2. Skep 'n vrystelling om toetse uit te voer

Skep 'n vrystelling met een taak - Visual Studio Test

Gerieflike BDD: SpecFlow + TFS

In hierdie geval is die taak gekonfigureer om toetse handmatig uit die toetsplan uit te voer

Gerieflike BDD: SpecFlow + TFS

3. Sinchronisasie van toetsgevalle

Ons weet dat Visual Studio jou toelaat om toetsmetodes aan toetsgevalle in TFS te koppel en dit vanaf toetsplanne uit te voer. Om dit nie handmatig te doen nie, en ook om die inhoud van die skrifte te sinchroniseer, het ek 'n eenvoudige konsoletoepassing geskryf FeatureSync. Die beginsel is eenvoudig - ons ontleed die kenmerklêer en werk die toetsgevalle op met behulp van die TFS API.

Hoe om FeatureSync te gebruik

Voeg naamspasie en locale by die kenmerklêeropskrif:

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

*naamruimte moet ooreenstem met die naam van die .dll-lêer wat die toetsmetodes bevat

Ons skep leë toetsgevalle in TFS en voeg etikette met hul ID by die skrifte:

Gerieflike 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

Begin FeatureSync:

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

In ons geval vind die bekendstelling plaas nadat die projek met toetse gebou is:

Gerieflike BDD: SpecFlow + TFS

Sinchronisasie resultaat

SpecFlow-skripstappe word gesinchroniseer en outomatiseringstatus is ingestel

Gerieflike BDD: SpecFlow + TFS

Gerieflike BDD: SpecFlow + TFS

4. Die opstel van 'n toetsplan

Ons skep 'n toetsplan, voeg ons outomatiese gevalle daarby, kies bou en vrystelling in die instellings

Gerieflike BDD: SpecFlow + TFS

Gerieflike BDD: SpecFlow + TFS

5. Lopende toetse

Kies die vereiste toets in die toetsplan en voer dit uit.

Gerieflike BDD: SpecFlow + TFS

Gevolgtrekking

Die voordele van hierdie konfigurasie:

  • enige toetser kan die fetaure-lêer in die weergawebeheer-webvorm oopmaak, dit wysig en die veranderinge sal onmiddellik na die bou in werking tree
  • jy kan enige tyd individueel toetse uitvoer
  • deursigtige toetsmodel - ons weet altyd wat die toets doen wat ons van stapel gestuur het.

Bron: will.com

Voeg 'n opmerking