В тесте, которое расширяет WebTestCase, я хочу что-то проверить, что зависит от прохождения параметров GET.Symfony2: передать параметры GET для функционального теста phpunit
Решение для параметров POST можно найти здесь: Symfony2 Functional test: Passing form data directly
Но если я использую этот аналог для GET не работает.
тестовый код:
// given
$client = static::createClient();
$paramValue = 'frwkuh437iwaw';
// when
$client->request(
'GET',
'/',
['paramName' => $paramValue],
[],
[
'HTTP_Host' => 'boys2go.com',
'REMOTE_ADDR' => '127.0.0.1',
'HTTP_X-FORWARDED-FOR' => '127.0.0.1',
]
);
часть в классе, где они были оценены:
$crossSaleParametersValue = $requestStack
->getCurrentRequest()
->query->get('paramName');
if (!empty($crossSaleParametersValue)) {
echo 'crossSale';
}
Кто-нибудь идея, как я могу передать мои параметры GET?
Грязная попытка просто добавить их после «/» не работает.
Как я могу получить мои параметры GET в свой тест?
Какая разница между просто прикрепление строку без вызова GetURL? Параметр $ params вашего getUrl - что должно туда идти? Мой массив с параметрами GET? –
Если у вас есть маршрут в Symfony, определенный следующим образом: @Route ("/ edit/{id}", name = "edit"), $ params из getUrl() должен содержать массив ['id'] => 99. В ваших тестах вы отправляете параметр запроса, он отличается. –