【发布时间】:2023-03-17 05:20:01
【问题描述】:
我刚刚开始使用 Behat 3.0 和 PhpStorm 8.0。
一切正常,除了异常,PhpStorm 中没有显示堆栈跟踪。测试只是失败,没有关于失败发生位置的反馈。
如果我在终端中使用 Behat,可以看到堆栈跟踪以及异常的文件和行号。
我尝试使用 --strict 和 --verbose 在 PhpStorm 中运行 Behat,但仍然没有任何乐趣。
看起来 PhpStorm 使用它自己的 Behat 格式化程序 (PhpStormBehatFormatter) 来显示结果,所以我 99% 确定解决方案将是修改它(我认为只有 PhpStorm 可以这样做)。
只是想看看其他人是否有同样的问题,是否有临时解决办法?
注意:这是非常具体的 Behat / PhpStorm 问题。除非您知道这两种工具,否则最好不要回答。诸如“创建自定义异常处理程序”之类的答案无济于事。
【问题讨论】:
-
如果从命令行对功能文件运行 behat 会发生什么?还要检查运行目录中的 php.error 文件。 PHP 静默失败很难追踪。我有时不得不使用
strace之类的东西来解决这个问题(通常是一个糟糕的嵌套包含)。 -
在命令行中运行时显示异常,使用 --verbose 运行时显示完整堆栈跟踪。这就是为什么我认为它与 PhpStormFormatter 有关系