2017-02-16 23 views
1

Я выполняю некоторые модульные тесты с помощью Codeception. В частности, я тестирую API, и один из этапов тестирования терпит неудачу. Я знаю, какой именно шаг, но не могу понять, почему поэтому я хочу войти в мой код, поскольку он выполняется модульным тестом.Как мне войти в мой код (а не тестовый код) с помощью Codeception в PhpStorm?

Я пробовал настройку «Перерыв на первой строке в сценариях php», я отлаживал сам тест, я пробовал писать на консоль, но есть многое, что можно сузить. Есть ли способ войти в мой код, как я обычно отлаживал отладку?

+0

Я не так хорошо знаком с кодом, но он имитирует запросы? Когда я отлаживаю свой API с помощью чего-то другого, он обычно работает для добавления '? XDEBUG_SESSION_START = PHPSTORM' в строку запроса, вы можете попробовать поместить это в свои запросы из тестов. – mickadoo

+0

Метод, вызванный из моего модульного теста, - 'sendPOST (...)', к которому я могу добавить параметры. Я добавлю этот параметр и посмотрю, что произойдет. Если нет, я могу проверить то же самое в Postman и посмотреть, как я нахожусь. – Brandon

+1

Это работало как шарм. Пожалуйста, добавьте в качестве ответа, чтобы я мог отметить вас правильно. – Brandon

ответ

2

При отладке API, в котором запрос поступает из внешнего источника (не запуская процесс из PhpStorm), вы всегда можете добавить ?XDEBUG_SESSION_START=PHPSTORM в строку запроса, которая должна запускать отладчик.

Если он не работает, установите его для начала в первой строке сценария и выполните его. Если он не работает с строкой запроса, это чаще всего происходит из-за того, что у меня нет правильных сопоставлений пути, которые вы можете сделать из настроек> Серверы.

Для всех, кто смотрит на это, как @Brandon, упомянутый в комментариях, первое, что вы должны быть уверены в том, что у вас установлен и настроен xdebug.

+0

Другое примечание здесь, чтобы убедиться, что вы также установили и настроили XDebug – Brandon

+0

, добавили, что для кого-то еще с той же проблемой. – mickadoo