Closed xlsson closed 3 years ago
Generellt gäller att man får felsöka steg för steg.
I ditt fall är det alltså enbart Controller som inte genererar coverage i Scrutinizer, men du får coverage lokalt? Och allt annat verkar stämma?
Då hade jag kikat på de testfallen som rör Controller-klasserna och försökt se om de hade någon speciell konstruktion i testfallen som gäller enbart för Controller-testerna och förekommer inte i de andra testerna.
Vi kan ju anse att det är avgränsat till Controller-klasser och i sammanhanget hur testerna exekveras på Scrutinizer.
Sen hade jag "chansat" lite för att avgränsa och testa mig fram.
Jag hade provat ändra från true till false (oklart om det spelar roll):
<coverage processUncoveredFiles="true">
Eventuellt hade jag även kört make phpunit
lokalt och satt APP_ENV='test'
.
Tackar! Punkt 4 var ett mycket bra tips: när jag övervakade vad Scrutinizer gjorde såg jag att en rad phpunit-tester failade när Scrutinizer körde dem. Jag fick ordning på det genom att, på samma vis som i config-filen för Travis, se till att miljövariablerna för projektet hänger med (och att miljövariablen APP_KEY genereras av artisan).
Dessa rader tillkom i min nya .scrutinizer.yml alltså:
tests:
before:
- cp .env.scrutinizer .env
- php artisan key:generate
Mina enhetstester för controller-klasserna verkar inte riktigt accepteras under code coverage på Scrutinizer. Konstigt nog har jag fått A-betyg under en annan flik (se nedan). Även där visas att 0 % av metoderna testats.
Vad skulle kunna vara fel? Nedan finns även min .scrutinizer.yml och .phpunit.xml.
https://scrutinizer-ci.com/g/radonhus/bth-mvc-framework/