Quelltext des aktuellen Standes
<?php
declare(strict_types=1);
/**
* Test-Runner ohne externe Abhängigkeiten.
*
* php tests/run.php
*
* Lädt alle *Test.php-Dateien in diesem Verzeichnis. Jede gibt eine Closure
* zurück, die ihre test()-Fälle ausführt. Exit-Code 1 bei Fehlern (CI-tauglich).
*/
require __DIR__ . '/bootstrap.php';
$files = glob(__DIR__ . '/*Test.php');
sort($files);
foreach ($files as $file) {
echo "\n" . basename($file, '.php') . "\n";
$suite = require $file;
if (is_callable($suite)) {
$suite();
}
}
echo "\n----------------------------------------\n";
echo 'Ergebnis: ' . TestStats::$passed . ' Checks ok, ' . TestStats::$failed . " fehlgeschlagen.\n";
if (TestStats::$failed > 0) {
echo "\nFehlschläge:\n";
foreach (TestStats::$failures as $f) {
echo " - {$f}\n";
}
exit(1);
}
echo "Alle Tests bestanden.\n";
exit(0);