Ho problemi con beffarda metodo genitore, questo è ad esempio:PHPUnit metodo genitore finto
class PathProvider
{
public function getPath()
{
return isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
}
}
class Uri extends PathProvider
{
public function getParam($param)
{
$path = $this->getPath();
if ($path == $param)
return 'OK';
else
return 'Bad';
}
}
e ora voglio metodo finta getPath(), e il metodo di chiamata getParam(), che recive valore preso in giro.
$mock = $this->getMock('PathProvider');
$mock->expects($this->any())
->method('getPath')
->will($this->returnValue('/panel2.0/user/index/id/5'));
Mi è stato scritto questa parte, ma non so come devo passare questo valore deriso al metodo di prova.
penso che una riprogettazione potrebbe essere in ordine, un Uri non è un PathProvider, ha solo bisogno dei suoi servizi. – GordonM
@GordonM ha pienamente ragione! Dovresti creare PathProvider come dipendenza e inserirlo nella classe Uri (tramite controller o setter). Non usare eccessivamente l'interemitanza – Cyprian