我正在尝试在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

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

1回复

Zend Framework 2中的PHPUnit模拟服务

我正在尝试模拟删除操作。 delete方法位于服务内部,因此我想模拟控制器内部请求的服务。 这是删除操作: 这是执行的服务操作: 我想在测试中模拟此方法。 我已经试过了: 运行PHPUnit命令时,控制台出现错误: EntityManager#Re
2回复

如何使用PHPUnit在Zend Framework 2中测试EventListener

我正在使用Zend Framework 2开发应用程序。某些应用程序服务会通知感兴趣的侦听器,这些侦听器会触发其他服务中的某些方法,例如: UserService UserListener 因此,我的问题是用PHPUnit测试Zend Framework事件监听器的最佳实践
3回复

如何在Zend Framework 2的PHPUnit测试中要求一个类?

目前,我正在尝试刷新和扩展我对Zend Framework 2的了解,并且正在查看Zend的《用户指南》 ,特别是“ 路由和控制器 ”页面。 看到四个几乎相同的用于声明动作的测试函数可以被冒犯我的最佳实践概念,因此我重写了最后四种方法,并添加了第五种作为辅助方法,如下所示: 当我运
2回复

如何测试我的应用程序中的每个模块phpunit - zend framework 2

我已经为我的应用程序模块和其他模块进行了测试。 他们工作正常,但我想运行所有测试(应用程序模块和其他模块)toguether来生成jenkins的三叶草报告。 我该怎么办?? 创建另一个配置文件来调用其他配置文件?? - -编辑 - - 我为每个模块bootstrap.php
1回复

Zend Framework 2:如何在phpunit的单元测试中包括Doctrine2支持?

经过进一步的研究后,我提出一个问题: 如何模拟Doctrine2的实体管理器进行单元测试,尤其是在控制器中? 本质上,我需要进行单元测试,并用Doctrine2的实体管理器替换与模拟TableGateway有关的所有内容。 (原始帖子) 前一段时间,我阅读了2.1版的官方ZF2入
1回复

如何使用PHPunit和Zend Framework 2测试服务

我已经完成了对控制器的测试,并模拟了服务中的方法。 我现在想测试服务方法。 我已经在网上搜索过,但是没有看到好的文章。 如果有任何用于PHPunit测试服务的指针,链接等。在zend Framework 2中将是理想的选择。 到目前为止,我已经尝试过了: 有些方法没有返回值,
1回复

Zend Framework 2 phpunit测试一个带连接的表

我使用了Zend Framework 2 Documentation中的Album示例并创建了一个应用程序。 现在,在使用phpunit对其进行phpunit测试时,我在测试具有表Account_Type的join的表时遇到了问题。 这是它的代码。 fetchAll函数是
3回复

Zend Framework 2 PHPUnit测试错误

嗨,我目前正在运行ZF2用户指南,尝试在骨架应用程序上运行PHPUnit测试,如http://zf2.readthedocs.org/en/latest/user-guide/unit-testing.html所述 。 但即使我没有编辑模块并且每次在Zend Studio中运行PHPUni
1回复

如何防止模块在Zend Framework 2 phpunit测试中加载

我编写了带有Auth模块的ZF2应用程序。 Auth模块的设置在其Module.php文件中完成。 我在Zend Framework 2单元测试教程( http://framework.zend.com/manual/2.2/en/tutorials/unittesting.html )
2回复

Zend Framework 2 - PHPUnit - 单元测试 - 没有执行测试和想法

首先,我是Zend Framework的新手。 实际上只有1天左右的范围。 我对PHPUnit也非常愚蠢。 我不认为使用Zend Framework在没有单元测试的情况下是实用的,并且需要在短时间内理解如何使用。 如果你能帮我解决这个问题,我将不胜感激。 这就是我做的。 我正在阅