Разобрался с индивидуальным решением, используя аннотации PHPUnit (и написал в блоге об этом!)
http://blog.behance.net/dev/custom-phpunit-annotations
РЕДАКТИРОВАТЬ: добавив код здесь, чтобы сделать мой ответ более полным:)
Короче говоря, используйте пользовательские аннотации. В вашем setUp () проанализируйте блок doc, чтобы получить аннотации и пометить тесты с разными качествами. Это позволит вам пометить определенные тесты для запуска с помощью браузера, а некоторые тесты для запуска без.
protected function setUp() {
$class = get_class( $this );
$method = $this->getName();
$reflection = new ReflectionMethod( $class, $method );
$doc_block = $reflection->getDocComment();
// Use regex to parse the doc_block for a specific annotation
$browser = self::parseDocBlock( $doc_block, '@browser' );
if ( !self::isBrowser( $browser )
return false;
// Start Selenium with the specified browser
} // setup
private static function parseDocBlock( $doc_block, $tag ) {
$matches = array();
if ( empty( $doc_block ) )
return $matches;
$regex = "/{$tag} (.*)(\\r\\n|\\r|\\n)/U";
preg_match_all( $regex, $doc_block, $matches );
if ( empty( $matches[1] ) )
return array();
// Removed extra index
$matches = $matches[1];
// Trim the results, array item by array item
foreach ( $matches as $ix => $match )
$matches[ $ix ] = trim( $match );
return $matches;
} // parseDocBlock