Integrera en PHP-modul med PHPUnit, Travis CI och Scrutinizer

By . Latest revision .

Du bekantar dig med begreppet Continuous integration (CI) genom att införa unittestning av din kod med PHPUnit, du integrerar ditt gitHub repo med CI-tjänsterna Travis CI och Scrutinizer.

#Förkunskaper

Du har utvecklat en PHP-modul som du nu skall enhetstesta med PHPUnit och sedan skall du använda webbtjänsterna Travis CI och Scrutinizer för att automatisera testerna.

I guiden “Låt Travis CI och Scrutinizer hjälpa dig med att testa din kod” så får du grunden för hur du integrerar GitHub med Travis CI och Scrutinizer.

I guiden “Börja att skriva testfall med PHPUnit för din PHP-kod” lär du dig grunden i hur du skriver enhetstester med PHPUnit.

#Krav

  1. Ta en PHP-modul som du utvecklat (den som du gjorde i kmom05 i phpmvc-v2).

  2. Inför enhetstestning med PHPUnit.

  3. Mät din Code Coverage och se till att du testar samtliga filer och att du uppnår en skälig Code Coverage.

  4. Integrera ditt GitHub repo med Travis CI och låt webbtjänsten checka ut och bygga ditt projekt samt köra testerna.

  5. Integrera ditt GitHub repo med Scrutinizer och låt webbtjänsten analysera din kod.

  6. Integrera Scrutinizer med Travis CI för att visa upp statistik om code coverage från dina enhetstester.

  7. Lägg till tre badges som visar hur bra det går för dig, de skall ligga i README-filen i ditt GitHub repo. De ser ut ungefär så här.

Build Status Scrutinizer Code Quality Code Coverage

#Extrauppgift

Nå upp till 100% i Code Coverage och 10 poäng i kodkvalitet?

Nja, det kanske är en utopi, men se hur långt du kan komma och hur långt som känns rimligt.

#Tips från coachen

Lös uppgiften på ditt eget vis.

Tänk till och fundera över vad termen continuous integration kan göra för dina kodningsprojekt.

Lycka till och hojta till i forumet om du behöver hjälp!

#Revision history

  • 2014-05-05: (A, mos) Första utgåvan inför version 2 av phpmvc-kursen.

Document source.

Category: php.