Search code examples
phpdebuggingconsoleoutputcodeception

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.


Solution

  • 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