0
在擴展WebTestCase的測試中,我想測試一些東西,這取決於傳遞GET參數。Symfony2:爲phpunit功能測試傳遞GET參數
一種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只是連接字符串之間的區別? getUrl的$ params參數 - 應該去那裏?我的數組與GET參數? –
如果您在Symfony中定義瞭如下的路由:@Route(「/ edit/{id}」,name =「edit」),getUrl()中的$ params應該包含一個數組['id'] => 99。在你的測試中,你發送一個查詢參數,這是不同的。 –