我的代码如下所示,我想测试
class Controller_test{
public function action_index(){
if(!$this->referred_from_site()){
echo "Un-authorized request";
return;
}
echo "Request OK";
}
public function referred_from_site(){
if(strpos($this->request->referrer(),$_SERVER['HTTP_HOST']) !== FALSE ){
return TRUE;
}
return FALSE;
}
}
现在,在PHPUnit脚本中,我可以从setUP()函数设置$ _SERVER ['HTTP_HOST']的值。但是,如何设置$ this-> request-> referrer()的值?或者如果我想将函数referenced_from_site()的值设置为TRUE,该怎么做?
答案 0 :(得分:1)
这是一个功能,但不是参数。我建议如果你想设置它,使用私有变量。 这样的事情。
class Controller_test{
private referred = false;
public function action_index(){
if(!$this->referred){
echo "Un-authorized request";
return;
}
echo "Request OK";
}
public function referred_from_site(){
if(strpos($this->request->referrer(),$_SERVER['HTTP_HOST']) !== FALSE ){
$this->referred = TRUE;
}
$this->referred = FALSE;
}
}
顺便说一下,我认为更改$_SERVER['HTTP_HOST']
的值不是一个好主意,只需使用其他参数,例如$ server = $ _SERVER,并像$server['HTTP_HOST'] = 'domain'
一样搞乱它