我以那種方式測試控制器:Symfony的2W/PHPUnit的3.6:更改目標主機名用於測試目的
$crawler = $client->request('GET', 'lang/120');
在print_r'ing的$履帶式對象,我可以看到的目標URL是http://localhost/lang/120。但是,我的目標主機是在我的機器上設置的虛擬主機,比如http://www.somehost.tld,我想使用它。我應該使用什麼乾淨的手段來進行單元測試來定位該虛擬主機?
我試圖把一個PHP變量在我phpunit.xml.dist文件並使用它:
<php>
<server name="HOSTNAME" value="http://www.somehost.tld/app.php/" />
</php>
然後:
$crawler = $client->request('GET', $_SERVER['HOSTNAME'] . 'lang/120');
但是看起來很笨拙......有什麼配置文件(config_test文件?),我應該把這個虛擬主機名?
感謝您的幫助,每個人!
聽起來不錯,伊戈爾,謝謝!但是,這將觸發一個訪問靜態屬性\ .. \ .. \ LanguageControllerTest :: $內核作爲非靜態的...這是通過使用「self :: $內核 - > ...」 – user772843
解決我的不好,看起來像這在一些時候已經改變了。它現在確實應該是self :: $ kernel。修復我的答案。 – igorw