2014-04-19 64 views
0

我試圖在PHPStorm內執行我的PHPUnit測試用例。PHPUnit中的Zend Framework 2項目相對路徑+ PHPStorm

我已經在項目的根目錄下添加了composer.phar,並將其綁定到我的PHPStorm配置中。

現在我右擊phpunit.xml.dist並選擇運行..

該模塊通過一個記錄器模塊,我下面的行

// Error occurred, begin a logfile $logger = new Logger(); $writer = new Stream('data/logs/services-api.log'); $logger->addWriter($writer);s 上的Apache,Nginx的,等運行時,該工作正常寫..

但在PHPunit它似乎沒有去我所期待的。

```

Zend\Log\Exception\RuntimeException : "data/logs/services-api.log" cannot be opened with mode "a" 
#0 ~ZendProject/module/Common/src/Common/Listeners/ApiErrorListener.php(31): Zend\Log\Writer\Stream->__construct('data/logs/servi...') 
#1 [internal function]: Common\Listeners\ApiErrorListener::onRender(Object(Zend\Mvc\MvcEvent)) 

```

我知道數據\ logs文件夾可寫,因爲這個代碼在ZendFramework正常工作在Apache ...我猜我需要修改我的Bootstrap.php莫名其妙?

如何調試此路徑,更重要的是爲生產和PHPUnit調用正確重構我的PATH(s)?

編輯:我開始我的當前工作目錄得益於輸出中在此提示

https://stackoverflow.com/a/7493389/389976

public function setUp() 
    { 
     $this->expectOutputString(''); 
     print_r("Current Working Directory = " . getcwd()); 
     print ""; 
    ... 
    } 

給予我一些輸出...

Current Working Directory = ~ZendProject/module/ActivityWall/test 

我如何正確修改CWD,以便PHPunit可以正確登錄?我在BootStrap.php中猜測,但是...?

回答

0

而不是試圖寫入主日誌文件,我已經決定讓PHPUnit的測試它自己test/data/logs/services-api.log

優勢:此隔離日誌文件,並讓我看到了一些保證什麼是從哪裏來的在那裏..

缺點:增加了另一件事我必須tail -f