我正在尝试在PHPStorm中执行我的PHPUnit测试用例。

我已经在项目的根目录中添加了composer.phar,并将其绑定到我的PHPStorm配置中。

现在,我右键单击phpunit.xml.dist并选择运行。

该模块利用了我在下面一行中编写的Logger模块

// Error occurred, begin a logfile $logger = new Logger(); $writer = new Stream('data/logs/services-api.log'); $logger->addWriter($writer);s // 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))

```

我知道data \\ logs文件夹是可写的,因为此代码在Apache的ZendFramework中可以正常工作...我猜我需要以某种方式修改Bootstrap.php?

如何调试该路径,更重要的是,如何针对生产和PHPUnit调用正确重构我的PATH?

编辑 :由于这个提示,我开始输出我当前的工作目录

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中,但是...?

===============>>#1 票数:0 已采纳

我决定不让它写入主日志文件,而是决定允许PHPUnit测试它自己的test/data/logs/services-api.log

优点 :这样可以隔离日志文件,使我可以肯定地看到源于何处。

缺点 :给我增加了另一件事tail -f

  ask by Erik translate from so

未解决问题?本站智能推荐: