gpt4 book ai didi

phpunit - Symfony 2带PhpUnit 3.6 : changing target hostname for test purposes

转载 作者:行者123 更新时间:2023-12-04 04:57:49 25 4
gpt4 key购买 nike

我正在以这种方式测试 Controller :

$crawler = $client->request('GET', 'lang/120');

在print_r'ing $ crawler对象之后,我可以看到目标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文件吗?)

谢谢大家的帮助!

最佳答案

您还可以在服务器参数中传递HTTP_HOST来更改目标主机名:

self::createClient(array(), array(
'HTTP_HOST' => 'sample.host.com',
));

关于phpunit - Symfony 2带PhpUnit 3.6 : changing target hostname for test purposes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8038693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com