Недавно передо мной встал вопрос: «А каким образом к фреймворку Kohana прикрутить Simple Test Unit». Задача простая и в интернете полным полно предложений по ее решению. Одно из понравившихся решений я решил привести тут.
Для того, чтобы запускать свои тесты, нужно создать контроллер следующего содержания:
define ( 'SIMPLE_TEST', '../tools/simpletest/');
require_once(SIMPLE_TEST . 'unit_tester.php');
require_once(SIMPLE_TEST . 'reporter.php');
require_once( SIMPLE_TEST . 'mock_objects.php');
class SimpleTest_Controller extends Controller {
function index() {
$this->runall();
}
function runall() {
$sDir = '../tests/';
$rDir = opendir( $sDir );
while ( $sFile = readdir( $rDir ) ) {
if ( $sFile != '.' && $sFile != '..' ) {
$this->run( $sFile );
}
}
}
function run ( $sTests ) {
$sDir = '../tests/' . $sTests .'/';
$rDir = opendir( $sDir );
$test = new GroupTest( $sTests );
while ( $sFile = readdir( $rDir ) ) {
if ( $sFile != '.' && $sFile != '..' && !preg_match('/~\d+~/', $sFile) ) {
include_once($sDir . $sFile);
$test->addTestCase( substr($sFile, 0, -4 ) );
}
}
$test->run( new HtmlReporter() );
}
}
Я понимаю, что ничего супер, пупер сложного в этом, нет. Просто надеюсь, что кому-то данный код может оказаться полезным.
Комментарии (0)
RSS свернуть / развернутьТолько зарегистрированные и авторизованные пользователи могут оставлять комментарии.