代码之家  ›  专栏  ›  技术社区  ›  Mike B

Selenium RC测试+使用PHPUnit的单元测试抛出Seg故障

  •  2
  • Mike B  · 技术社区  · 16 年前

    因此,我有一组单元/集成测试和一组selenium rc测试作为套件的一部分。当我使用PHPUnit将它们一起运行时,在运行的最后,当它在正常运行期间开始生成日志文件时,我会收到一条分段错误消息。有趣的是,如果我只运行单元测试,或者只运行selenium rc测试,那么一切都正常。我有理由肯定我的代码库没有问题,因为我可以直观地看到我所有的测试都通过了。正如我所说,错误发生在结果生成阶段。

    我将代码覆盖率用于单元测试,但不用于selenium测试(在selenium对象中保留$coverageScriptUrl属性为空)。

    在这里,我真的抓住了救命稻草,因为我从来没有诊断过没有文件或行号的错误。有什么地方我可以查到更多的信息吗?有人能给我指出正确的方向吗?php错误日志为空。

    有什么想法吗?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Pascal MARTIN    16 年前

    (因为它对我们没什么用处;反正它太低了)

    您可以尝试以下几点:

    • 尝试使用最新版本的Xdebug(有时,这些应该可以纠正类似的问题)
    • 尝试使用旧版本的Xdebug(为什么不呢?)
    • 考虑在PHPUnit上将测试套件分为两次执行:
      • 一次没有代码覆盖的执行(因为您无论如何都不会使用它),用于功能测试

    另一种方法是尝试使用CVS版本的Xdebug 2.1,而不是稳定的2.0.x;但不确定这是否有帮助(参见 http://www.phpunit.de/ticket/513 (例如)

    Xdebug的螳螂BT上有两个与segfaults相关的bug报告;其中一些问题没有得到解决。
    例如:

    不管怎样,祝你好运。。。

    <(如果你能找到问题的原因,我很感兴趣;-))

        2
  •  0
  •   zombat    16 年前

    PHP中的错误肯定会很棘手。

    there's a bug 几周前,当使用 $this->selectWindow() null 参数

        3
  •  0
  •   Ira Baxter    16 年前

    如果xdebug导致SEGFULTS,您可以切换到使用一个根本不使用xdebug的测试覆盖率工具,只使用一个标准PHP服务器:

    Semantic Designs PHP Test Coverage