Hvad er Cucumber Funktionsfil og trindefinition? (Eksempel)
For hvert agurkeprojekt er der en enkelt mappe i roden af โโprojektet med navnet "funktionerโ. Det er her alle dine agurketrรฆk vil vรฆre. I denne mappe finder du yderligere mapper, dvs step_definition og supportmapper
Hvad er "Funktionsfil"?
Funktionsfilen indeholder en beskrivelse af testscenariet pรฅ hรธjt niveau i et enkelt sprog. Det er kendt som Sylteagurk. Gherkin er et almindeligt engelsk tekstsprog
Cucumber Feature File bestรฅr af fรธlgende komponenter โ
- Feature: En funktion vil beskrive det aktuelle testscript, som skal udfรธres.
- Scenario: Scenario beskriver trinene og det forventede resultat for en bestemt testcase.
- Scenarieoversigt: Samme scenarie kan udfรธres for flere sรฆt data ved hjรฆlp af scenarieoversigt. Dataene leveres af en tabelstruktur adskilt af (II).
- I betragtning af: Det specificerer konteksten for den tekst, der skal udfรธres. Ved at bruge datatabeller "Given", kan trin ogsรฅ parametreres.
- Nรฅr: "Hvornรฅr" angiver den testhandling, der skal udfรธres
- Derefter: Det forventede resultat af testen kan reprรฆsenteres af "Derefter"
Dernรฆst vil vi lรฆre, hvordan man skriver Feature File i Cucumber med eksempel.
Eksempel pรฅ funktionsfil:
Feature: Visit career guide page in career.guru99.com Scenario: Visit career.guru99.com Given: I am on career.guru99.com When: I click on career guide menu Then: I should see career guide page
Hvad er "trindefinition"?
Trindefinition kortlรฆgger testcase-trinene i feature-filerne (introduceret af Given/When/Then) til kode. Det, der udfรธrer trinene pรฅ Application Under Test og kontrollerer resultaterne mod forventede resultater. For at en trindefinition kan udfรธres, skal den matche den givne komponent i en funktion. Trindefinition er defineret i ruby-filer under "features/step_definitions/*_steps.rb".
Eksempel pรฅ trindefinition: Her vil vi bruge ovenfor Cucumber Eksempel pรฅ funktionsfil pรฅ at gennemse career.guru99.com gรธr Vi vil bruge funktioner som "When, Then, Given" som vist i nedenstรฅende Cucumber Eksempler pรฅ Feature File.
Step 1: Given (/^ I am on career.guru99.com$/) do Browser.goto "http://career.guru99.com" -This will visit career.guru99 on browser end Step 2: When (/^ click on career guide menu$/) do Browser.text (:name, " career guide" ).click โ This will click "career guide menu" end Step 3: Then (/^ I should see career guide page$/) do Browser.goto "http://career.guru99.com/category/career-guide/" - It will visit "career guide page" end
Resumรฉ
- Du skal bruge 2 filer โ funktioner og trindefinition for at udfรธre et Cucmber-testscenarie
- Funktionsfilen indeholder en beskrivelse pรฅ hรธjt niveau af Testscenarie i et enkelt sprog
- Steps Definition-filen indeholder den faktiske kode til at udfรธre testscenariet i Features-filen.

