在 Codeception 中将调试输出打印到控制台

2022-08-30 10:48:27

非常厚的问题,但是有没有办法在Codeception中将您自己的调试消息打印到控制台?我的意思是与断言无关的消息,纯粹是为了调试测试本身(例如,就像您在任何常规PHP网站中使用变量一样)var_dump()

我已经尝试过了,但无济于事。使用 '也不会产生所需的结果,我只是想能够看到我的变量的内容,而不必运行像 xdebug 这样的调试器。var_dump()echoprintWebDebugmakeAResponseDump()


答案 1

请参阅调试,其中说

您可以使用codecept_debug功能打印测试内的任何信息。

我在我的*Cept类中使用它:

codecept_debug($myVar);

仅当使用 --debug 运行时,调试输出才可见(-v 不显示它,但 -vv 和 -vvv 显示):

codecept run --debug

输出如下所示:

Validate MyEntity table insert (MyCept) 
Scenario:
* I persist entity "AppBundle\Entity\MyEntity"

  AppBundle\Entity\MyEntity Object
  (
      [Id:AppBundle\Entity\MyEntity:private] => 1
      [Description:AppBundle\Entity\MyEntity:private] => Description
  )

 PASSED 

答案 2
\Codeception\Util\Debug::debug($this->em);die();

并运行带有标志的代码接收。--debug


推荐