2014-04-19 39 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