\Nette\Tester: Spuštění testů v prohlížeči

Dokumentace Nette\Tester pokrývá jen možnost spouštět testy z příkazové řádky. To je ve většině případů šikovnější. Někdy ale může přijít potřeba spustit testy v prohlížeči.

Autoři frameworku v dokumentaci tuto možnost zcela opomíjejí (možná pro to mají nějaký rozumný důvod, který mi dosud uniká)

Přesto mi to nedalo a pokusil jsem se rozchodit testy i v prohlížeči. Jako vždycky, i v tomto případě je řešení velice primitivní. Ale kdo jako já s testováním teprve začíná, tomu může můj návod ušetřit pár minut času.

Nette\Tester je standalone aplikace – nemá žádné závislosti, ke svému chodu nepotřebuje nic dalšího.

Začal jsem tedy s naprosto čistým projektem, do něhož jsem nahrál pouze adresář Tester z aktuálního release.

V kořenovém adresáři projektu jsem vytvořil PHP soubor run-tests.php, který budu volat z prohlížeče:

<?php

$command = "tester ./ -c php.ini -j 20" ;
$argv = explode( ' ', $command );

$_SERVER['argv'] = $argv ;
$_SERVER['argc'] = count( $argv );

echo "<pre>";

require_once __DIR__ . '/Tester/tester.php' ;

Zbytek už je stejný – vytvořím adresář s testy (třeba tests), v něm soubor bootstrap.php a jednotlivé *.phpt soubory s testy.

Po zavolání run-tests.php z prohlížeče se spustí testy a zobrazí výsledek stejně, jako kdybych je spustil z příkazové řádky.