Насмешливый __call() имеет другую подпись

Я использую Mockery, чтобы издеваться над классом с __call() магическим методом.

Проблема в том, что мой издевательский объект имеет __call() с подписью, отличной от реального класса, и я получаю эту ошибку:

ErrorException: Declaration of Mockery_10_EpiTwitter::__call() should be compatible with EpiTwitter::__call($name, $params = NULL)

Ниже приведена моя насмешливая процедура:

$mock = Mockery::mock('EpiTwitter')->shouldReceive('useAPIVersion')->once()->with('1.1')->mock();

Я также пытался сделать частичный макет, но вышеуказанная ошибка все еще появляется.


person Andrea Marco Sartori    schedule 26.01.2014    source источник


Ответы (1)


Ошибка вызвана уровнем ошибки E_STRICT, который не допускает дочерние методы с аргументами или уровнем доступа, отличными от родительских.

person gontrollez    schedule 27.01.2014
comment
Точно! Я смог обойти это, поместив if(defined('E_STRICT')) error_reporting('E_ALL ^ E_STRICT') в часть теста, которая использует __call() - person EricC; 07.02.2014