PHPUnit: ¿Cómo simular una función en una clase?
Tengo una clase llamada "QueryService". En esta clase, hay una función llamada "GetErrorCode". También en esta clase hay una función llamada "DoQuery". Así que puedes decir con seguridad que tengo algo como esto:
class QueryService {
function DoQuery($request) {
$svc = new IntegratedService();
$result = $svc->getResult($request);
if ($result->success == false)
$result->error = $this->GetErrorCode($result->errorCode);
}
function GetErrorCode($errorCode) {
// do stuff
}
}
Quiero crear una prueba de phpunit que pondrá a prueba "DoQuery". Sin embargo, quiero que el resultado de "GetErrorCode" sea determinado por un simulacro. En otras palabras, quiero decir que si $ errorCode = 1, GetErrorCode debe omitir cualquier lógica que esté en esta función, y simplemente devolver la palabra "UNO". Si es cualquier número distinto de 1, debe devolver "NO".
¿Cómo configuras esto usando PHPUNIT Mocks?