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

Cucumber Grundlรฆggende

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.

Opsummer dette indlรฆg med: