【问题标题】:Segmentation Fault (core dumped) while running phpunit运行 phpunit 时出现分段错误(核心转储)
【发布时间】:2014-09-30 15:01:12
【问题描述】:

当我尝试使用 phpunit 运行我的单元测试时,我收到了这个错误 Segmentation Fault (core dumped)。

我已经坚持了 2 天,因为我不知道是什么引发了这个错误。

我的php版本是,

带有 Suhosin-Patch (cli) 的 PHP 5.3.10-1ubuntu3.13(构建时间:2014 年 7 月 7 日 18:54:55) 版权所有 (c) 1997-2012 PHP 集团 Zend Engine v2.3.0,版权所有 (c) 1998-2012 Zend Technologies 使用 Xdebug v2.1.0,版权所有 (c) 2002-2010,作者 Derick Rethans

PHP 单元版本是,

Sebastian Bergmann 的 PHPUnit 3.7.25

我在我的项目根目录中运行这个命令, > phpunit 从 /var/www/[project root]/phpunit.xml.dist 读取的配置 分段错误(核心转储)

P.S:我尝试使用 Zend.enable_gc=0 但没有成功。

编辑:我的 phpunit 在 docker 容器上运行,而我的数据库在链接到 phpunit 容器的不同容器上。 docker 容器基于 ubuntu 12.04 构建。错误与磁盘空间或内存有关吗?

【问题讨论】:

  • 您是否尝试过注释掉所有测试并一一添加回来?
  • 有近 300 个测试,对 PHP 来说还是很陌生。
  • 你试过输入'export USE_ZEND_ALLOC=0'吗?
  • 我今天遇到了这种情况,结果证明是由导致无限循环的编码错误引起的。尝试隔离 300 可能很多,但它可能有助于检查您最近更改的功能并确保每个功能仍按预期工作。
  • 嗨,你能发布代码吗,包括你正在测试的代码和你的单元测试。

标签: php magento zend-framework phpunit docker


【解决方案1】:

我知道这个问题太老了,但我只是回答它,因为最近我遇到了同样的问题。我为你的问题尝试了所有的 cmets,但没有一个能解决我的问题。

我解决了它在过滤器内的白名单标签中添加 processUncoveredFilesFromWhitelist="true"

我的场景:

  • PHP 7
  • PHPUnit 5.7
  • Xdebug 2.4.0

我尝试了很多不同的配置,如列出我的 zf 模块中的每个路径、禁用控制器测试、禁用所有测试并一一启用,但我只在打开 PHPUnit 过滤器示例并查看 processUncoveredFilesFromWhitelist 时解决了它=true 这是我从未见过的。添加此参数后,所有测试都按预期运行。

<filter>
    <whitelist processUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">../src</directory>
        <exclude>
            <directory suffix=".phtml">../view</directory>
        </exclude>
    </whitelist>
</filter>

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多