2010-08-08 4 views
3

У меня есть некоторые проблемы с отчетами о покрытии кода в PHPunit и zend framework. Всякий раз, когда я запускаю тест PHPUnit охват код не возвращенная следующее сообщение:Сбой кода с PHPUnit и Zend Framework

 

PHPUnit 3.4.15 by Sebastian Bergmann. 

I.......III.I................................IIIIIIIIIIIIIII 60/93 
IIII....I....I..II..II.....IIIIII 

Time: 4 seconds, Memory: 22.25Mb 

OK, but incomplete or skipped tests! 
Tests: 93, Assertions: 174, Incomplete: 36. 

Generating code coverage report, this may take a moment.PHP Fatal error: Cannot redeclare class Klunde_Auth in /Users/kristianlunde/workspaces/private/klunde/Library/Klunde/Auth.php on line 9 

Fatal error: Cannot redeclare class Klunde_Auth in /Users/kristianlunde/workspaces/private/klunde/Library/Klunde/Auth.php on line 9 
 

Мой файл phpunit.xml выглядит следующим образом:

 

<phpunit bootstrap="./application/bootstrap.php" colors="true"> 
<testsuite name="Klunde"> 
    <directory>./application/</directory> 
    <directory>./Library/Klunde</directory> 
</testsuite> 

<filter> 
    <whitelist> 
    <directory suffix=".php">../application</directory> 
    <directory suffix=".php">../Library/Klunde</directory> 
    <exclude> 
    <directory suffix=".phtml">../application/</directory> 
    <file>../application/Bootstrap.php</file> 
      <file>../application/controllers/ErrorController.php</file> 
      </exclude> 
    </whitelist> 
</filter> 

<logging> 
    <log type="coverage-html" target="./log/report" charset="UTF-8" yui="true" 
    highlight="true" lowUpperBound="50" highLowerBound="80" /> 

    <log type="testdox-html" target="./log/testdox.html" /> 
</logging> 
</phpunit> 
 

Я сделал

var_dump(get_included_files()); 

на верхней части файла Auth, и он попытался включить файл более одного раза, прежде чем он сработает.

Я также попытался удалить файл Klunde_Auth.php, чтобы увидеть, была ли это проблема одного файла, но затем эта ошибка запускается в следующем файле в каталоге Library/Klunde.

Я бегу OSX Snow Leopard, с PHP 5.3.1, XDebug 2.1.0beta3 и PHPUnit 3.4.15

Вся помощь и помощь будет высоко оценена.

Спасибо.

+0

Bump! Это было разрешено? Если это так, мне интересно это решение. –

+0

@ Janis, я каким-то образом разрешил это, но я действительно не могу вспомнить, что я должен был сделать, чтобы решить эту проблему. Вы испытываете те же проблемы? Если хотите, я могу посмотреть на мое решение. –

ответ

2

введите debug_print_backtrace() в верхнюю часть вашего Klunde_Auth.php, прежде чем начнется объявление класса.

Затем запустите testuite снова, теперь вы увидите всю обратную трассировку каждый раз, когда файл включен, это поможет вам выяснить, что/из того, где он включается дважды.

Смежные вопросы