Acum aprox. două săptămâni, în timp ce lucram la un repozitoriu hostat privat, mă gândeam ce fain ar fi să pot avea niște badge-uri în readme cum ar fi unul cu build status sau unul cu procentul pentru code coverage. Din păcate serviciile care generează astfel de badge-uri oferă serviciul gratuit doar pentru repozitoarele publice, unele chiar limitate la github.
De fapt informația din care se generează imaginea, e deja disponibilă în xml-ul generat de phpunit când rulezi testele, așa că aș putea la fel de bine să generez eu o imagine și să o pun în readme!
Așa am început proiectul Candybar, care își propune să facă rezultatele testelor cu phpunit mai ușor de digerat și integrat cu alte tool-uri. De fapt, proiectul este o colecție de comenzi, care face fiecare o treabă, și de asemenea puteți adăuga propriile comenzi destul de simplu. Release-ul 0.2, poate să facă următoarele:
-
coverage:badge
: generează badge-ul pentru code coveragelicense:badge
: generează badge pentru licențăcoverage:style
: aplică stil la prezentarea html pentru code coverage generată de phpunit (phpunit --coverage-html tests/coverage/html
)readme:add-badges
: adaugă badge-urile generate în readme
Mai multe detalii despre fiecare comandă puteți afla rulând vendor/bin/candybar help [commandă]
Dacă vreți să scrieți o comandă, copiați clasa ExampleCommand din DevLib/Candybar/Commands
într-un folder al aplicației voastre. Va fi necesar să schimbați namespace-ul și argumentele/opțiunile ($arguments
și $options
) iar logica o implementați în metoda handle()
.
Odată ce funcționează așa cum doriți și o testați cu phpunit :) o includeți la lista de comenzi în candybar/config.php
.
Dacă aveți sugestii, deschideți vă rog un issue pe pagina proiectului.
Imaginea a fost luată de pe saitul cofetăriei Minimal.