PHPUnit: Wie verspotte ich eine Funktion in einer Klasse?

Ich habe eine Klasse namens "QueryService". In dieser Klasse gibt es eine Funktion namens "GetErrorCode". In dieser Klasse befindet sich auch eine Funktion namens "DoQuery". Sie können also mit Sicherheit sagen, dass ich so etwas habe:

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
    }
}

Ich möchte einen Phpunit-Test erstellen, der "DoQuery" testet. Ich möchte jedoch, dass das Ergebnis von "GetErrorCode" durch einen Schein bestimmt wird. Mit anderen Worten, ich möchte sagen, dass bei $ errorCode = 1 GetErrorCode die Logik in dieser Funktion umgehen muss und nur das Wort "ONE" zurückgeben muss. Wenn es sich um eine andere Zahl als 1 handelt, muss "NO" zurückgegeben werden.

Wie richten Sie dies mit PHPUNIT Mocks ein?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage