Ошибка PHPUnit "неопределенный индекс: HTTP_HOST"

Я объявил HTTP_HOST, как показано ниже.

public function testReadUser() { $_SERVER['HTTP_HOST'] = "xy"; . . . } 

Несмотря на это, phpunit дает неопределенную ошибку индекса. Почему это?

Solutions Collecting From Web of "Ошибка PHPUnit "неопределенный индекс: HTTP_HOST""

В файле phpunit.xml вы можете установить серверные переменные. Добавьте php элемент под корень phpunit :

 <phpunit> <php> <server name='HTTP_HOST' value='http://localhost' /> </php> </phpunit> 

Дополнительную информацию см. В документах .

Это дает вам эту ошибку, потому что вы выполняете тесты через интерфейс командной строки (CLI). CLI не может получить эту информацию, потому что в HTTP-запросы нет запросов.

Вы можете объявить значение (необходимое для вашего тестирования) методом тестирования.

Например:

 function testMethod(){ $_SERVER['yourvar']='yourvalue'; ...your code making the request via phpunit to the method you are testing } 

Объявив $ _SERVER в вашем тестовом методе, он будет доступен для метода, который вы тестируете. Он работает и для $ _POST и $ _GET, если вам нужны эти значения.