Cucumber + (Iron)ruby #6 : Første egne test
Da er vi klare for vår første egne test.
Jeg vil lære noe om ASP.Net MVC. Dette er lagret i en features-fil “nnug.feature”.
For at dette skal bli en kjørbar test trenger vi en fil med “step-definisjoner”. Step-filer lagrer vi i katalogen “step_definitions”. Dette er ruby-koden som kjøres av cucumber og definerer de skrittene vi bruker i testen vår. I vår step-fil ” har vi:
Her brukes regexmatching på teksten i vår features fil til å definere hva som skal skje i hvert step. @browser er et objekt som representerer nettleseren, styrt av watir. I dette tilfellet internet explorer. Det er definert i en environment.rb-fil som ligger i support-katalogen:require 'spec/expectations'I “When” - skrittet har vi bare en utkommentert linje, siden vi ikke skal gjøre noe der i denne enkle testen.
require 'watir'
Browser = Watir::IE
# "before all"
browser = Browser.new
Before do
@browser = browser
end
# "after all"
at_exit do
browser.close
end
I Then-skrittet så tar vi mot en parameter text, og sjekker om den fins i teksten på websiden.
Så det vi sjekker i denne testen er, når vi er på websiden localhost:2323/default.aspx, så skal vi ha teksten “Velkommen NNUG”på denns siden.
Når jeg kjører denne testen med "cucumber --language no features" blir den rød-
Hva må vi gjøre for å få en grønn test ?
Vi laster ned ASP.Net MVC fra codeplex, og lager et nytt prosjekt. Her kaller vi prosjektet NNUG, siden det ble presentert der. Vi setter portnummer for web-siten til 2323 så vi har dette klart til testen vår.
Vi endrer ingenting, vi bare starter det. Da ser vi denne websiden:
Når vi kjører testen blir den fremdeles rød.
Neste skritt er å endre koden så testen vår kan forventes å bli grønn. Fra dette:
til dette:
Vi kjører testen på nytt med "cucumber --language no features" . Og får nå dette skjermbildet:
En grønn cucumber-test.
PS!Jeg ser nå at jeg glemte “chcp 1252” så de norske tegnene ødelegger testene. Så husk chcp1252 som beskrevet i en tidligere post så får du penere bilder enn meg ;)





