2012-03-14 1 views
0

Всякий раз, когда я запускаю свои модульные тесты в PHPStorm, мне приходится изгонять мои инструкции require_once из моих файлов классов.Настройка проблемы с phpunit в phpstorm 3.0.3. не может найти требуемые файлы

Если я, например, иметь класс

require_once 'model/Foo.php' 

class Bar extends Foo { 

    function baz($a, $b) { 
     ... 
    } 
} 

Я должен сделать модульного тестирования класса, который выглядит следующим образом (обратите внимание на дополнительные require_once)

require_once 'c:\path\to\project\src\model\Foo.php 
require_once 'c:\path\to\project\src\Bar.php 

class BarTest extends PHPUnit_Framework_TestCase { 

    /** 
    * @covers Bar::baz 
    */ 
    function testBaz(){ 
     ... 
    } 
} 

тогда, когда я я проверил все мои файлы и раскомментировал инструкции require_once, а затем я могу работать или загружаться на сервер.

Я организую свои классы как этот

projectRoot 
+-src 
| +-index.php and my classes+their folders 
| 
+-test 
    +-my unit test classes 

Это вопрос конфигурации в PHPUnit или PhpStorm? и где его исправить? Я несколько раз искал Google и играл с настройками конфигурации phpunit в phpstorm, но с небольшой удачей.

ответ

3

Это, скорее всего, связано с изменением рабочего каталога.

Вы должны изменить ваш require_once от

require_once 'model/Foo.php'; 

к чему-то, что использует абсолютный путь, например:

require_once(realpath(dirname(__FILE__) . "/model/Foo.php")); 
+0

Спасибо, что сделал трюк. – Asser

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

  • Нет связанных вопросов^_^