Calculates the incoming test cases. Skips abstract and ignored classes.
public selectRunnableTests ( array $candidates ) : array | ||
$candidates | array | Candidate classes. |
Результат | array | New classes which are test cases that shouldn't be ignored. |
/** * run all recent test cases if no test has * so far been run. Uses the DefaultReporter which can have * it's output controlled with SimpleTest::prefer(). */ function run_local_tests() { try { $candidates = capture_new_classes(); $loader = new SimpleFileLoader(); $suite = $loader->createSuiteFromClasses(basename(initial_file()), $loader->selectRunnableTests($candidates)); $result = $suite->run(new DefaultReporter()); } catch (Exception $stack_frame_fix) { print $stack_frame_fix->getMessage(); $result = false; } }
/** * Exit handler to run all recent test cases if no test has * so far been run. Uses the DefaultReporter which can have * it's output controlled with SimpleTest::prefer(). */ function simpletest_autorun() { if (tests_have_run()) { return; } $candidates = array_intersect(capture_new_classes(), classes_defined_in_initial_file()); $loader = new SimpleFileLoader(); $suite = $loader->createSuiteFromClasses(basename(initial_file()), $loader->selectRunnableTests($candidates)); $result = $suite->run(new DefaultReporter()); if (SimpleReporter::inCli()) { exit($result ? 0 : 1); } }
protected function _prepareTestCase($test) { require_once $this->file; $candidates = $this->_getClassesDefinedInFile(); $loader = new SimpleFileLoader(); foreach ($loader->selectRunnableTests($candidates) as $class) { if ($this->_isFiltered($class)) { continue; } $case = new $class(); $case->filter(lmbTestOptions::get('methods_filter')); $test->addTestCase($case); //a dirty SimpleTest PHP4 compatibility hack //otherwise $case is overwrittne since it is a reference unset($case); } }
/** * Exit handler to run all recent test cases if no test has * so far been run. Uses the DefaultReporter which can have * it's output controlled with SimpleTest::prefer(). */ function simpletest_autorun() { try { if (tests_have_run()) { return; } $candidates = array_intersect(capture_new_classes(), classes_defined_in_initial_file()); $loader = new SimpleFileLoader(); $suite = $loader->createSuiteFromClasses(basename(initial_file()), $loader->selectRunnableTests($candidates)); $result = $suite->run(new DefaultReporter()); } catch (Exception $e) { // This is here, because under normal circumstances shutdown // functions don't have a stack frame, leading to obscure errors. echo $e->__toString(); $result = false; } if (SimpleReporter::inCli()) { exit($result ? 0 : 1); } }