PHPUnit: Jak pozorować funkcję w klasie?

Mam klasę o nazwie „QueryService”. W tej klasie istnieje funkcja o nazwie „GetErrorCode”. W tej klasie jest także funkcja o nazwie „DoQuery”. Możesz więc spokojnie powiedzieć, że mam coś takiego:

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

Chcę utworzyć test phpunit, który przetestuje „DoQuery”. Chcę jednak, aby wynik „GetErrorCode” został określony przez próbę. Innymi słowy, chcę powiedzieć, że jeśli $ errorCode = 1, GetErrorCode musi ominąć wszelką logikę w tej funkcji i po prostu zwrócić słowo „ONE”. Jeśli jest to dowolna liczba inna niż 1, musi zwrócić „NIE”.

Jak to ustawić używając PHPUNIT Mocks?

questionAnswers(2)

yourAnswerToTheQuestion