Очень толстый вопрос, но есть ли способ распечатать собственные сообщения отладки на консоли в Codeception? Я имею в виду сообщения, которые не имеют ничего общего с утверждениями, чисто для отладки самих тестов (например, как вы бы var_dump()
переменная на любом регулярном веб-сайте PHP)
Я уже пробовал var_dump()
, echo
и print
но безрезультатно. Использование WebDebug
makeAResponseDump()
не приводит к требуемым результатам, я просто хочу видеть содержимое моей переменной без необходимости запуска отладчика, такого как xdebug .
\Codeception\Util\Debug::debug($this->em);die();
и запустить Codeception с флагом -debug.
См. Отладка, в которой говорится:
Вы можете распечатать любую информацию внутри теста с помощью функции codecept_debug.
И я использую его в своем классе * Cept :
codecept_debug($myVar);
Вывод отладки отображается только при запуске с –debug (-v не показывает его, но -vv и -vvv do):
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 говорит, что произошла ошибка, но не показывает ее подробно. Однако, согласно сообщению этого блога, добавление –debug показывает ошибки в деталях.
codecept run --debug
Короткая версия – это codecept run tests/acceptance/SomeCest.php -d
-d покажет вам шаги и отладки