【问题标题】:Mockery, Codeception and Symfony - Cannot redeclare classMockery, Codeception 和 Symfony - 无法重新声明类
【发布时间】:2016-07-09 16:32:23
【问题描述】:

我有一个现有单元测试的以下部分(启用了 Mockery 模块):

$mockedEvent = \Mockery::mock('\Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent');

此测试运行良好并且成功,但是一旦 Codeception 使用 Symfony2 模块进行我的功能测试,我就会收到以下错误:

PHP Fatal error:  Cannot declare class Symfony\Component\HttpFoundation\Request, because the name is already in use in /projectDir/var/bootstrap.php.cache on line 365

不知何故,我的单元测试中声明的类导致我的功能测试出现问题,这导致我无法按预期使用 Mockery。如何避免此错误?

【问题讨论】:

  • 请使用 -vvv 标志运行 Codeception 并将完整的堆栈跟踪添加到您的问题中。

标签: symfony codeception mockery


【解决方案1】:

将 Codeception 升级到 2.2 后,此错误消失。 - 尽管现在 Codeception 在到达功能测试时经常会出现段错误,并且仅在仅运行功能测试(有效)时才能再次工作,然后整个测试套件再次运行良好。根据我的经验,Codeception 总是发生一些奇怪的事情。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2015-08-04
    • 2011-03-22
    • 2023-03-29
    • 2016-02-24
    • 2018-02-16
    相关资源
    最近更新 更多