2011. augusztus 6., szombat

FitNesse tesztek indítási lehetőségei

Egy korábbi bejegyzésemben a FitNesse használatát mutattam be egy példán keresztül, a mostani cikkben pedig az elkészített teszt futtatási lehetőségeit fogom ismertetni.

A tesztek indítási módjaiban közös, hogy meg kell adni a típust (suite vagy teszt) valamint az útvonallal specifikált nevet, majd opcionálisan a végrehajtás eredményének kimeneti formátumát és a Fitnesse web-szerver által használt portot.

FitNesse tesztek wiki oldalról történő indítása

A tesztek indításának talán legegyszerűbb módja a wiki oldalról történő futtatás. A FitNesse web-szervert, a FitNesse gyökér könyvtárából indítsuk el a java -jar fitnesse.jar –p 6666 paranccsal, majd keressük ki a futtatni kívánt tesztet vagy suite-ot és kattintsunk a baloldali menüben a suite ill. test gombra. 

Indítás után, a típusnak megfelelően megjelenik egy ?test ill. ?suite paraméter az url-ben, melyek begépelésével a futtatás direkt módon is végrehajtható. Ha a tesztek eredményeit nem a wiki oldalon keresztül, hanem egy meghatározott formátumban szeretnénk elérni, használjuk a format url paramétert a text, xml vagy html értékekkel. pl.: ExampleTestSuite?suite&format=xml

A böngésző címsorában található context-root utáni URL-t, mint útvonallal specifikált nevet használhatjuk fel a suite-hoz tartozó összes teszt (ExampleTestSuite) vagy egy kiválasztott teszt (ExampleTestSuite.ExampleTest) futtatásához a további eseteknél.

FitNesse tesztek indítása parancssorból

A konzolról történő indításhoz a FitNesse gyökérkönyvtárából adjuk ki a java -jar fitnesse.jar -p 6666 -c "ExampleTestSuite?suite&format=xml" -d "/usr/local/Fitnesse" parancsot. A -c opcióval definiálhatjuk a futtatni kívánt tesztet és a kimeneti formátumot, a -d kapcsolóval pedig a munka könyvtárat állíthatjuk be.

FitNesse tesztek indítása Java kódból

A Fitnesse tesztek java kódból történő indításához, az Eclipse/Run Configurations menü alatt a java kódhoz tartozó konfiguráció Arguments tabján, a Working directory résznél adjuk meg a FitNesse munka könyvtár helyét.


A fejlesztőeszköz beállítása után, a tesztek Java kódból történő indításához az alábbi kódrészlet használható fel.
import fitnesse.Arguments;
import fitnesseMain.FitNesseMain
    
    ...
    
    public void testerMethod() throws Exception {
        Arguments arguments = new Arguments();
        arguments.setInstallOnly(false);
        arguments.setOmitUpdates(true);
        arguments.setPort("6666");
        arguments.setCommand("ExampleTestSuite.ExampleTest?test");
        arguments.setRootPath("/usr/local/Fitnesse");
        FitNesseMain.dontExitAfterSingleCommand = true;
        FitNesseMain.launchFitNesse(arguments);
    }
FitNesse tesztek indítása Ant használatával

Az Ant-tal történő futtatást akkor érdemes választani, amikor a FitNesse tesztek indítását a build folyamat részeként, automatizáltan akarjuk végrehajtani. Az alábbi kódrészleten egy ant build fájl tartalma látható, ahol is a start target végzi el a kiválasztott tesztek indítását.
<project basedir="/usr/local/Fitnesse" default="start" name="Test">  
 <path id="classpath">
  <fileset dir="/usr/local/Fitnesse" includes="**/*.jar">
  </fileset>
 </path>   

 <target name="start">        
  <java failonerror="true" fork="true" jar="/usr/local/Fitnesse/fitnesse.jar">       
   <arg value="-p"></arg>      
   <arg value="6666"></arg>
   <arg value="-c"></arg>                
   <arg value="ExampleTestSuite?suite&format=xml"></arg>     
  </java>
 </target> 
</project>
FitNesse tesztek indítása a Hudson CI szerver segítségével

A Hudson ill. Jenkins Continuous Integration szerverek szintén lehetőséget nyújtanak a FitNesse tesztek futtatásához. A folyamatos integráció lényege, hogy a fejlesztők folyamatosan integrálják a munkájukat egy központi szerveren, ahol is a build folyamat után ellenőrzéseknek vetik alá a szoftvert mint terméket. Ilyen ellenőrzések lehetnek a statikus kód ellenőrzések, teszt lefedettség vizsgálatok vagy a FitNesse tesztek futtatása. Az ellenőrzések eredményét a Hudson képes megjeleníteni, így folyamatosan követhetjük a projekt állapotát és szükség szerint időben beavatkozhatunk!

Itt jegyezném meg, hogy a Hudson/Jenkins az egyik kedvenc eszközöm, ezért hamarosan a folyamatos integráció témakörben is fogok blogolni... :)

A rövid áttekintés után térjünk vissza FitNesse tesztek indításához. A Hudson plugin manager oldalon telepítsük fel a FitNesse plugint, majd hozzunk létre egy új jobot a projektnek. A build résznél válasszuk ki az ”Execute Fitnesse tests” opciót, majd a ”Start new Fitnesse instance as part of build”-et bejelölve töltsük ki a mezőket az alábbi ábra szerint:

 
Ahhoz, hogy a FitNesse tesztek lefutási eredményét riportként is megtekinthessük, állítsuk be a FitNesse result fájlt, a ”Post build action” résznél is. Figyeljünk arra, hogy az eredmény fájl útvonalát a Hudson workspace-en belül adjuk meg!


Mentsük el a beállításokat és futtassuk a létrehozott job-ot, majd tekintsük meg a helyes beállításokról tanúskodó konzol naplót.


A FitNesse teszteket sokféleképpen, de mégis hasonló séma alapján indíthatjuk, így megvan arra a lehetőségünk, hogy mindig a felmerült igényekhez legjobban illeszkedő módszert válasszuk!

A következő cikkemben még mindig a tesztelési témakörnél maradok, de már egy másik remek teszteszköz ismertetésére fogok rátérni!

Nincsenek megjegyzések:

Megjegyzés küldése