Printing debug output to console in Codeception
Solution 1:
See Debugging which says
You may print any information inside a test using the codecept_debug function.
And I'm using it in my *Cept class:
codecept_debug($myVar);
Your debug output is only visible when you run with --debug (-v doesn't show it, but -vv and -vvv do):
codecept run --debug
And the output looked like:
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
Solution 2:
\Codeception\Util\Debug::debug($this->em);die();
and run Codeception with --debug
flag.
Solution 3:
I seem to have found a way around the issue by using a helper class:
class WebHelper extends \Codeception\Module
{
public function seeMyVar($var){
$this->debug($var);
}
}
and calling the class as such:
$foo = array('one','two');
$I->seeMyVar($foo);
then I get the debug output I'm looking for
I see my var "lambda function"
Array
(
[0] => one
[1] => two
)
I will accept this as a temporary solution however I would like to keep my assertions clean and not clutter them with var_dumps upgraded to test functions, so if anyone has a conceptually correct solution, please submit