NetBeans remote PHPUnit runner
Ve světě programovacího jazyka PHP hraje nástroj PhpUnit svoji nezaměnitelnou roli při zajištění elementární kvality zdrojového kódu pomocí jednotkových testů.
Jelikož jeho funkce testuje chování programu na prostředí ve kterém je spuštěn, dává smysl aby byl při vývoji a v rámci Continuous Integration spouštěn na prostředí co nejvíce podobném produkčnímu. Logickým vyústěním je pak spouštění uvnitř Docker kontejneru.
Vývojové prostředí IDE však běží na hostujícím stroji, který sice Docker spouští, ale pokud samo o sobě nemá podporu pro PhpUnit v Dockeru, nemá tak možnost ho jednoduše spustit a ještě obtížněji se tak může dostat k výsledkům testů a code coverage reportu.
Jednoduchý skript interitty/nb-remote-phpunit v jazyce bash simuluje chování samotného PhpUnit, přebírá předané parametry a tyto předává do parametrem (docker-container
) určeného Docker kontejneru, kde spustí (tam umístěný) PhpUnit.
Pokud je vývojové prostředí nastaveno správně, tedy umístění zdrojového kódu uvnitř Docker kontejneru je shodné jako na hostujícím prostředí (obvykle na adrese /opt/srv
), jsou i výsledné reporty vygenerovány korektně a tak se mohou i řádně zobrazit ve vývojovém prostředí.
Skript je primárně určen a testován ve vývojovém prostředí IDE NetBeans, ale ze svého principu by měl být použitelný i pro ostatní.