Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Printing debug output to console in Codeception

Very thick question, but is there any way to print your own debug messages to the console in Codeception? I mean messages that have nothing to do with assertions, purely for debugging the tests themselves (e.g. like you would var_dump() a variable in any regular PHP website)

I have already tried var_dump(), echo and print but to no avail. Using WebDebug's makeAResponseDump() doesn't produce the required results neither, I just want to be able to see my variable's content without having to run a debugger like xdebug.

like image 490
Ayame__ Avatar asked Feb 19 '14 07:02

Ayame__


3 Answers

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  
like image 168
Bae Avatar answered Sep 16 '22 23:09

Bae


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

and run Codeception with --debug flag.

like image 40
sennett Avatar answered Sep 20 '22 23:09

sennett


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

like image 40
Ayame__ Avatar answered Sep 20 '22 23:09

Ayame__