How to show var_dumps in phpunit or codeception

c33s

Julian

Posted on October 27, 2018

How to show var_dumps in phpunit or codeception

if you use phpunit or codeception (which uses phpunit under the hood), you sometimes want to see the output of the vardump()'s of the class you are testing. per default the output of vardump is supressed.

MyClassToTest.php

...
public function doSomething()
{
    ...
    var_dump('my var dump');
    ...
}

...

Enter fullscreen mode Exit fullscreen mode

Test.php

public function test()
{
    $myClassToTest = Stub::make('\App\MyClassToTest', ['name' => 'myname']);

    $this->assertEquals('name', $myClassToTest->doSomething());
}
Enter fullscreen mode Exit fullscreen mode
codecept run unit -vvv
Enter fullscreen mode Exit fullscreen mode

does not show the var_dump calls

if you add a ob_flush(); after your var_dump call, the output is shown

...
public function doSomething()
{
    ...
    var_dump('my var dump');
    ob_flush();
    ...
}

...
Enter fullscreen mode Exit fullscreen mode

alternatively you can use the symfony var dumper component which output is shown without a ob_flush();

...
public function doSomething()
{
    ...
    dump('my var dump');
    ...
}

...
Enter fullscreen mode Exit fullscreen mode

you don't need the -vvv parameter, the output is still shown.

codecept run unit
Enter fullscreen mode Exit fullscreen mode

links:

💖 💪 🙅 🚩
c33s
Julian

Posted on October 27, 2018

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related