Enkel BDD: SpecFlow+TFS

Det finns mÄnga artiklar pÄ nÀtet om hur man anvÀnder SpecFlow och stÀller in TFS för att köra tester, men ingen som tÀcker alla aspekter. I den hÀr artikeln kommer jag att berÀtta hur man kan göra körningen och redigeringen av SpecFlow-scenarier bekvÀm för alla.

Under rubriken fÄr du veta hur man fÄr:

  • Körning av tester frĂ„n TFS
  • Automatisk lĂ€nkning av scenarier till testfall i TFS
  • Alltid aktuellt innehĂ„ll av testfall i TFS
  • Möjlighet att redigera scenarier direkt i versionskontrollsystemet av testarna
    Enkel BDD: SpecFlow+TFS

Bakgrund

Vi stÀlldes inför uppgiften att automatisera testning av applikationen med en BDD-ansats. Eftersom vÄrt företags huvudsakliga uppgiftspÄrningssystem Àr TFS, förestÀllde jag mig en bild dÀr stegen i SpecFlow-scenarier motsvarade stegen i testfallen i TFS, och att tester körs frÄn testplaner. HÀrnÀst kommer jag att beskriva hur jag genomfört detta.

Vad vi behöver:

  1. Projekt med tester i SpecFlow
  2. Azure DevOps Server (Àven kÀnd som Team Foundation Server)
  3. Verktyg för att synkronisera SpecFlow-scenarier med testfall i TFS

InstÀllning

1. Skapa en byggnad av projektet med tester

HÀr Àr det enkelt, byggnad och publicering av artefakter. Mer om den tredje uppgiften senare.

Enkel BDD: SpecFlow+TFS

2. Skapa en release för att köra tester

Vi skapar en release med en uppgift — Visual Studio Test

Enkel BDD: SpecFlow+TFS

I detta fall Àr uppgiften instÀlld för att köra tester manuellt frÄn testplanen

Enkel BDD: SpecFlow+TFS

3. Synkronisering av testfall

Vi vet att Visual Studio lĂ„ter oss lĂ€nka testmetoder till testfall i TFS och köra dem frĂ„n testplaner. För att slippa göra detta manuellt samt för att synkronisera innehĂ„llet i scenarierna, skrev jag en enkel konsolapplikation FeatureSync. Principen Ă€r enkel — vi parserar feature-filen och uppdaterar testfallen med hjĂ€lp av TFS API.

SÄ hÀr anvÀnder du FeatureSync

LĂ€gg till namespace och locale i headern av feature-filen:

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

*namespace mÄste överensstÀmma med namnet pÄ .dll-filen som innehÄller testmetoderna

Skapa tomma testfall i TFS och lÀgg till taggar med deras ID till scenarierna:

Enkel BDD: SpecFlow+TFS

@2124573 @positiv
Scenario: FramgÄngsrik autentisering
    Givet att jag Àr pÄ inloggningssidan
    Och jag anger:
        | Inloggning | Lösenord |
        | anvÀndare  | lösenord     |
    NÀr jag trycker pÄ inloggningsknappen
    DÄ omdirigerar webblÀsaren till hemsidan

Kör FeatureSync:

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

I vÄrt fall körs detta efter att projektet med tester har byggts:

Enkel BDD: SpecFlow+TFS

Resultat av synkroniseringen

Stegen i SpecFlow-scenariot har synkroniserats och statusen Automation har satts.

Enkel BDD: SpecFlow+TFS

Enkel BDD: SpecFlow+TFS

4. Konfigurera testplanen

Vi skapar en testplan, lÀgger till vÄra automatiserade testfall, vÀljer version och release i instÀllningarna

Enkel BDD: SpecFlow+TFS

Enkel BDD: SpecFlow+TFS

5. Starta tester

Vi vÀljer nödvÀndigt test i testplanen och startar det.

Enkel BDD: SpecFlow+TFS

Slutsats

Fördelar med denna konfiguration:

  • varje testare kan öppna feature-filen i webbaserad versionskontroll, redigera den och Ă€ndringarna trĂ€der i kraft direkt efter bygget
  • man kan starta tester nĂ€r som helst separat
  • genomskinlig testmodell — vi vet alltid vad testet vi startade gör.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster