cakephp2-php8/app/controllers/tests_controller.php

44 lines
857 B
PHP
Raw Normal View History

<?PHP
uses('test', 'folder', 'inflector');
class TestsController extends TestsHelper {
function test_all () {
$this->layout = 'test';
$tests_folder = new Folder('../tests');
$results = array();
$total_errors = 0;
foreach ($tests_folder->findRecursive('.*\.php') as $test) {
if (preg_match('/^(.+)\.php/i', basename($test), $r)) {
require_once($test);
$test_name = Inflector::Camelize($r[1]);
if (preg_match('/^(.+)Test$/i', $test_name, $r)) {
$module_name = $r[1];
}
else {
$module_name = $test_name;
}
$suite = new TestSuite($test_name);
$result = TestRunner::run($suite);
$total_errors += $result['errors'];
$results[] = array(
'name'=>$module_name,
'result'=>$result,
);
}
}
$this->set('success', !$total_errors);
$this->set('results', $results);
}
}
?>