PHPunit set referer

У меня есть код, подобный приведенному ниже, который я хочу проверить

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 я могу установить значение $ _SERVER [‘HTTP_HOST’] из функции setUP (). Но как установить значение для $ this-> request-> referrer ()? или как это сделать, если я хочу установить значение функции refer_from_site () как TRUE?

0

Решение

Это функция, но не параметр. Я предлагаю, чтобы, если вы хотите установить его, используйте закрытую переменную.
Что-то вроде этого.

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'

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]