【问题标题】:Behat tests fail at randomBehat 测试随机失败
【发布时间】:2011-12-07 17:39:16
【问题描述】:

我用 PHPUnit 和 behat/mink 测试我的 Symfony2 项目。今天早上我在我的项目中添加了更多的行为测试,突然随机测试开始失败。似乎我达到了限制(内存?执行时间?其他什么?)但我什么也找不到。

Travis-ci 在这个 http://travis-ci.org/#!/tvlooy/ReadingCorner/builds/383016 上没有失败

我的本​​地机器确实出现故障(Lenovo R60、2GB RAM、2x 1.8Ghz CPU)。我在 32 位 x86 上运行 Fedora 16。 PHP 5.3.8 (cli),带有 Xdebug v2.1.2、PHPUnit 3.6.2。

(编辑:我刚刚更新到 PHPUnit 3.6.4 并删除了 Xdebug,但问题仍然存在)

我通过以下方式运行 Behat 测试:

$ app/console behat -e=test

=> random tests fail

当我像这样运行测试时:

$ for feature in 'find src/Ctors/ReadingCornerBundle/Features/ -name *.feature'; do app/console behat -e=test $feature; done

=> all tests pass

我已经将 php.ini 中的 memory_limit 提高到 768M,但没有帮助。

我有 7 个功能文件,总共 57 个场景。不多,没有异国情调。文件在https://github.com/tvlooy/ReadingCorner/tree/master/src/Ctors/ReadingCornerBundle/Features

我需要通过一个命令在我的本地机器上进行测试,因为我使用 PHPUnit(PHPUnit 中包装的 behat 功能)从它生成代码覆盖率。

有什么线索吗?

【问题讨论】:

  • 你能粘贴失败场景的结果吗?您链接到的构建成功。

标签: symfony behat


【解决方案1】:

@jakub_zalas 发布了关于修复的博客。见http://www.zalas.eu/fixing-failing-behat-scenarios-in-large-suites 设置 1002:'SET SESSION wait_timeout=30;'也帮我修好了。

【讨论】:

    【解决方案2】:

    请使用-v 运行您的功能并提供输出

    【讨论】:

    • 我贴了两个文件(一个运行app/console behat -e=test,一个循环运行app/console behat -e=test )特征文件执行的顺序是相等的. gist.github.com/1446709(afaik -v 不是 behat 的选项,而是 PHPUnit 的选项,对吗?所以我没有在 gist 测试结果中添加 -v)
    猜你喜欢
    • 2020-03-13
    • 2016-01-31
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多