Guide Ett FitNesse-test



Relevanta dokument
Testautomatisering. Labbar, FitNesse, TDD, BDD

NetBeans 5.5. Avsikt. Projektfönster

Laboration 10 - Eclipse

LVDB i GEOSECMA. Innehåll. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Instruktion för användande av Citrix MetaFrame

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Installation/uppgradering av Agfa IMPAX program för remittenter

Skriv före adressen och lämna bort www enligt modellen:

Objektorienterad programmering i Java I

Gör så här för att rapportera:

Nya webbservern Dvwebb.mah.se

Installationsanvisningar VISI Klient

Lathund länkar. Skapa en intern länk som en sida

Lathund länkar. Skapa en intern länk som en sida

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

OBS! Det är av största vikt att innan konfiguration av modulen, genomfört de inställningar som presenteras med bilagorna till denna manual.

Konfigurera Wordpress som Hemsida istället för blogg

Kom igång med FrontPage 2003

Visma Proceedo. Att logga in - Manual. Version 1.3 /

Instruktion för användande av Citrix MetaFrame

IT-körkort för språklärare. Modul 2: Blogg

Skapa din egen MediaWiki

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

Börja med git och GitHub - Windows

Se till att posten är i Ändringsläge. Gå till rullgardinsmenyn under Föremål och välj Lägg in bild.

Scala Doc SQL Installation

Lathund för hantering av kalender och schema funktioner i TimeEdit och Moodle.

Laboration 10 - NetBeans

Att använda Java SE JDK 6

Kursvärdering. Denna manual beskriver hur du kan skapa en mapp i Fronter som heter Kursvärdering där du ladda upp reslutat från kursutvärderingar.

Beställning av Förlitandepart-certifikat Version

PM Dokumentation

TST8102 WEBCM BRUKSANVISNING

ANVÄNDAR HANDLEDNING FÖR ADVITUMS KUNDPORTAL

Kundportal. Kundportal - Användarhandledning

Lathund länkar. 1Skapa en intern länk som en sida

Att använda Java SE JDK 6

För dig som lärare har vi placerat nya inkomna svar från elever under Följ upp uppgifter medan elev på samma ställer ser alla sina aktiva Uppgifter.

Dokument i klassens aktivitet

Docker i Windows 8.1 med Hyper-V

Kom i gång med PING PONG

Guide för bolagskartan.com

FLEX Personalsystem. Uppdateringsanvisning

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Användarmanual Cartesia GEO Manager

Lathund Projektledare Jönköpingsprojektplats

Under Kurser visas dina kurser som kort och om där finns nya uppgifter eller anslag visas antalet i kurskortet.

LADDA UPP EN PDF-FIL OCH LÄNKA TILL DEN I DIN ARTIKELTEXT

Bevaka vetenskapliga tidskrifter med hjälp av RSS

Administrationsmanual ImageBank 2

Manual Produktion av presentationssynkar med PowerPoint och Producer

Bilder Innehåll: Inledning Minneskort Ansluta kamera eller minneskort Föra över bilder, ett sätt Föra över bilder, ett a nnat sätt

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

Guide : Skapa en publik kurshemsida i Mondo

Men banners kan också placeras i composerblock samt på nyhets- och artikelsidor. Du kan skapa en banner i vilken editor som helst i EpiServer CMS 5.

1. Logga in som Wordpress-administratör till den sajen som ni vill säkerhetskopiera.

Hur du använder My easyfairs. En guide för utställare

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Kom igång med Etikettskrivaren 1. Ladda ner följande installationsprogram Ladda ner Drivrutiner för etikettskrivare Zebra

Det finns några grundinställningar och förutsättningar som man bör tänka på innan man börjar använda pluginet och spela online.

Manual Administration digitala läromedel

Instruktioner för uppkoppling mot NyA Open

Hur man skapa en Wiki.

Vi visar i denna guide hur man kommer igång med sin nychippade Xbox360. När vi skriver spel i denna guide så menar vi era JTAG/RGH preparerade spel.

Ladda upp filer fra n PLC till PC

Mobilus får inte användas under tiden uppdateringen genomförs.

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Kom igång med Riksbyggen Kundwebb

GUIDE TILL ANVÄNDARHANTERINGEN

GoTalk NOW. Liten lathund hur du redigerar i appen.

Appar eller mobilwebb? Vad är bäst för bibliotekets tjänster?

Arg-administratörens guide till Umbraco v 1.2.1

Guide i hur man arbetar med vår butik från WebbButiker.se

Hur man skapar en Administrativ Image för SolidWorks 2014

[ HUR DU UPPDATERAR FÖRSTASIDAN PÅ OTHELLO.NU ]

Konvertering från Klients databas till Norstedts Byrå

Lathund - webbsidor och filer

Flytt av. Vitec Mäklarsystem

IT-körkort för språklärare. Modul 3: Ljud, del 1

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

Användarmanual för Content tool version 7.5

Installationsguide för mysql och OLA Server/OLA Klient

Föreläsning 3. Programmering, C och programmeringsmiljö

Design Collaboration Suite

Anvä ndärguide Nyä Expeditionsresor

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Kom igång med TIS-Office

Viktigt! Vill du ha möjligheten att återställa originalbilarna utan hemladdning läs nedan om återställning innan du börjar med installationen!


ANVÄNDARMANUAL FÖR WORDPRESS

MX-RESULTS.COM. Manual. Jonas Gustafsson, MC Alingsås

Installationsanvisningar VisiMIX. Ansvarig: Visi System AB Version: 2.2 Datum: Mottagare: Visi MIX kund

1. Logga in som Wordpress-administratör till den siten som ni will kopiera och flytta någon annan stans.

lär dig söka och publicera på världens största videocommunity!

Daniel Clarhed

Transkript:

Guide Ett FitNesse-test Ladda ned RubySlim Från: fitnesse.org -> plugins -> Ruby Slim for Ruby 1.9.3 Klicka på länken till github Leta reda på Zip-knappen -> ladda ned Lägg rubysiim valfri katalog jag kommer referera till sökvägen till denna katalog som [SLIM_PATH] nedan. OBS! undvik mellanslag i sökvägen! Undvik gem install slim och gem install rubyslim I FitNesse (localhost efter vi startat FitNesse med java jar fitnessestandalone ): Starta fitnesse med java jar fitnesse-standalone.jar (detta måste göras i katalogen som fitnessestandalone.jar ligger i) För virtual machine: java jar fitnesse-standalone.jar p 8080 Gå in på localhost i din browser (locahost:8080 för virtual machine) Skapa Innehållssida med typ: static Ex: Add: MinStartSida Gör en sida av typen static kalla den vad du vill Gör länk från startsidan genom att editera den och lägga in.minstartsida eller >MinStartSida Om adressen för din startsida är localhost/frontpage.minstartsida så är det en undersida till FrontPage om adressen är localhost/minstartsida så är det en huvudsida. Skapa länk för Undersida: >MinStartSida Skapa länk för Huvudsida:.MinStartSida Skapa testsida när du står på MinStartSida med add (typ: test) ge den ett namn, ex: MinTestSida Skapa en ny tabell på MinTestSida genom edit och lägg till följande: My test first name last name fullname? David Gullmarsvi David Gullmarsvik

Det du skriver som tabellrubrik (My test) måste senare återspeglas i Fixture-klassen (Som måste heta MyTest) och filen som Fixture-klassen ligger i (Som måste heta my_test.rb). Kör test: Fail FitNesse vet inte vilken test runner den skall ha ännnu Lägg till init-info på din start-sida!define TEST_SYSTEM {slim}!define TEST_RUNNER {[SLIM_PATH]/bin/rubyslim}!define COMMAND_PATTERN {ruby I %p %m}!define PATH_SEPARATOR { -I }!path [SLIM_PATH]/lib Kör test: Fail TEST_RUNNER- och!path-sökvägar måste ersättas med sökvägar från er dator. Använd windows-sökvägar om du är på windows (Dvs: något i stil med C:\rubyslim\bin\rubyslim, etc windows sökvägar börjar med C: (eller D:, etc. om filerna ligger på en annan hårddisk) och använder \ istället för / ) FitNesse vet inte var våra fixture-klasser + projekt-klasser är Lägg till fixture-klasser Fixture-filer skall ligga i katalogen [PROJECT_PATH]/lib/fixtures [PROJECT_PATH] är en sökväg på din lokala dator, där din projekt-mapp ligger Ersätt / med \ för windows. Vi döper filen till my_test.rb detta är baserat på tabellrubriken vi tidigare lade till på vår testsida. Filen innhåller följande: module Fixtures class MyTest modulnamnet Fixtures måste vara samma som katalogen fixtures, fast med CamelCase

Vi har inga metoder ännu Klassnamnet måste vara samma som filen my_test.rb och tabellrubriken på vår testsida My test, fast med CamelCase Lägg till metoderna set_first_name, set_last_name och fullname i fixture-filen. Inputmetoder måste börja med set_ och är baserade på de namn som vi har i de kolumnrubriker som inte avslutas med? på vår testsida. Metodnamnen måste vara lowercase och med _ istället för mellanslag Namnet på output-metoder är baserade på de namn i kolumnrubrikerna på testsidan som avslutas med? Lägg till logik i output-metod Vi börjar med att returnera David Gullmarsvik detta är samma som finns i vår fullname? -kolumn i tabellen vi skapade tidigare module Fixtures class MyTest def set_first_name(arg) def set_last_name(arg) David Gullmarsvik Citat-tecknen kommer bli felaktiga om ni kopierar ovanståe ersätt dem. Till en början vill vi bara testa att kopplingen mellan FitNesse och våra Fixture-klasser fungerar som tänkt. Dvs. vi vill inte ha någon logik som kan ge upphov till fel. Vi returnerar därför David Gullmarsvik i fullname-metoden, för att vi angav detta i vår tabell på test-sidan tidigare. Kör test: Fail FitNesse vet inte var dina fixtures är Lägg till Class Path till Fixture + klasser på start-sidan!path [PROJECT_PATH]/lib/fixtures!path [PROJECT_PATH]/lib

Behåll den tidigare texten och lägg till ovanståe nederst. Ersätt som vanligt \ med / på Windows-system. Vi behöver även tala om för FitNesse i vilken modul våra fixtures ligger i. Detta gör vi på en SetUpsida. Välj Add från vår innehållssida (type: Test, name: SetUp) Lägg till följande i SetUp-sidan: Import Fixtures Fixtures skall vara en CamelCase variant av den module du angav I din fixture-fil Kontrollera att det fungerar genom att kika på MinTestSida efter en text som innehåller: included Page: SetUp Kör Test: Nu borde dina tester vissa grönt. Om du får ett Exception när du kör ett test kan du se detta direkt från test-sidan. Länka till klasser vi vill testa Hittills har inte Fixture-klassen pratat med några klasser som hör till implementationen av vårt projekt. Detta är för att vi inte vill ha något som stör när vi sätter upp kopplingen mellan FitNesse och våra testfixtures. Nu skall vi koppla vår fixture till den faktiska klassen vi vill testa. Skapa en klass User inuti Fixtures-modulen i my_test.rb vi skall gradvis flytta denna definition till rätt ställe class User attr_accessor :first_name, :last_name #{@first_name} #{@last_name} Tänk på att ändra citat-tecken. Flytta ut klassen utanför Fixture-modulen I Fixture fil och lägg till en module runt klassen. Ex: module UserProject. Tänk på att en module måste avslutas med (nu behöver vi lägga till aktuell modul innan User då vi använder klassen i fixture-filen till UserProject::User) Flytta ut klassdefinitionen + omgivande module till egen fil user.rb. Nu behöver du även ange require./user.rb i my_test.rb.

Flytta ned user-filen till /lib-katalogen (det är här den skall ligga) Flytta ned: Fail! - Require funkar inte - (Tänk på att du kan använda ex: irb hela vägen för att testa) Det finns flera olika sätt att lösa detta på t.ex: absolut path: require /absolute/path/to/class/lib/user Den bättre lösningen är att lägga till katalogen som user.rb ligger i till våra sökvägar. Detta gör vi med följande ändring i fixture-filen: $LOAD_PATH.unshift(../, FILE ) require user tänk på att ändra citattecknen ovan. I slutändan ser våra två filer ut såhär: [PROJECT_PATH]/lib/user.rb: module UserProject class User attr_accessor :first_name, :last_name #{@first_name} @last_name [PROJECT_PATH]/lib/fixtures/my_test.rb: $LOAD_PATH.unshift(../, FILE ) require user module Fixtures class MyTest def initialize @user = UserProject::User.new def set_first_name(arg) @first_name = arg

def set_last_name(arg) @last_name = arg @user.fullname Kör Test: Nu borde testen på vår test-sida fungera igen. Flera test på samma sida Skapa tabell 2 på test-sidan Detta funkar fint vi kan lägga till en kopia på den tidigare tabellen (i normala fall hade vi haft andra tester i den nya tabellen t.ex. test som vi förväntar oss skall ge errors eller liknande). Kör test: Testen bör fungera. Test Suite Skapa Suite sida från innehålls-sidan (Add, typ: Suite). Ex: MainSuite Skapa 2 Undersidor med typ: Suite under den första Suite-sidan. Ex: SubSuite1, SubSuite2 Skapa 1 test-sida för varje Suite och lägg till tabeller (du kan kopiera den tidigare tabellen vi definierade). Ex: TestPage1 Kör individuellt test på någon av test-sidorna. Detta bör fungera. Navigera till någon av SubSuite-sidorna. Här bör du kunna trycka på Suite -knappen för att köra alla tester i testsidor som ligger under vår SubSuite-sida. Navigera till vår MainSuite-sida. Här bör du kunna trycka på Suite -knappen för att köra alla tester i testsidor som ligger under vår MainSuite-sida (dvs samtliga tester under bägge SubSuites). Du hittar Fitnesse-filerna i FitNesseRoot katalogen i katalogen du startar FitNesse ifrån.

Om din startsida är en ToppSida så ligger den som en katalog med samma namn som din sida direkt i FitNesseRoot om den ligger under ex. FrontPage så kommer du hitta den i en katalog med samma namn som din sida under katalogen FrontPage Demo I den nya Virtual Machine jag lagt upp här: http://www.loudelou.se/xubuntu2.zip så hittar ni ett fungerande FitNesse-demo. Se guide från Kursvecka 1 under dokument/filer för hur du importerar denna Virtual Machine i Virutal Box. (du skall dock inte ladda ned xubuntu.zip som länkas i den filen det är ovanståe fil xubuntu2.zip som gäller). Allt som är intressant för detta demo hittar ni under ta -katalogen som hittas under hem-katalogen för användaren testaut. Följande kataloger finns i ta -katalogen: demo : fitnesse : rubyslim : lab4 : /lib/user.rb : klassen vi vill testa /lib/fixtures/my_test.rb : Fixture-klass för FitNesse/RubySlim fitnesse-standalone.jar : För att sätta igång FitNesse. Startas med java jar fitnesse-standalone.jar p 8080 /FitNesseRoot/DemoPage : Katalog som kommer innehålla de sidor jag skapat under DemoPage -sidan i FitNesse rubyslim-filerna. Dessa behöver ni dock inte röra eller kika på. Här skulle ni kunna börja implementera fixture-filer och implementations-filer enligt den struktur som finns i demo-mappen (se ovan) För att se på Demo-sidan så går ni in i katalogen fitnesse och kör java jar fitnesse-standalone.jar p 8080. Efter det kan ni öppna en browser och gå till sidan localhost:8080. Längst ned på sidan bör ni ha en länk till.demopage. Denna sida har samma struktur och innehåll som finns beskrivet i guiden ovan. Testerna på dessa sidor skall vara körbara samtliga tester skall köras och ge grönt.