Печать отладочной информации в консоль в Codeception

очень толстый вопрос, но есть ли способ распечатать ваши собственные отладочные сообщения на консоли в Codeception? Я имею в виду сообщения, которые не имеют ничего общего с утверждениями, исключительно для отладки самих тестов (например, как вы var_dump() переменная в любом обычном веб-сайте PHP)

Я уже пробовал var_dump(), echo и print но безрезультатно. Используя WebDebug ' s makeAResponseDump() также не дает требуемых результатов, я просто хочу видеть содержимое моей переменной без необходимости запускать отладчик, например xdebug.

6 ответов


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

и запустите Codeception с --debug флаг.


посмотреть отладка, который сказал

вы можете распечатать любую информацию внутри теста с помощью функции 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 

кажется, я нашел способ обойти проблему, используя вспомогательный класс:

class WebHelper extends \Codeception\Module
{
    public function seeMyVar($var){
        $this->debug($var);
    }
}

и вызов класса как такового:

$foo = array('one','two');
$I->seeMyVar($foo);

затем я получаю отладочный вывод, который я ищу

I see my var "lambda function"
  Array
  (
      [0] => one
      [1] => two
  )

Я приму это как временное решение, однако я хотел бы сохранить свои утверждения чистыми и не загромождать их var_dumps, обновленными до тестовых функций, поэтому, если у кого-то есть концептуально правильное решение, пожалуйста, отправьте


или вы можете использовать команды управления многословием, такие как:

codecept run -vvv

каждая v увеличивает многословность вывода (по умолчанию очень тихо).


по умолчанию Codeception говорит, что была ошибка, но не показывает ее подробно. Однако согласно этот блог adding --debug показывает ошибки подробно.

codecept run --debug


короткая версия будет codecept run tests/acceptance/SomeCest.php -d
- d покажет вам шаги и debug