PHPUnit: Como zombar de uma função em uma classe?

Eu tenho uma classe chamada "QueryService". Nesta classe, existe uma função chamada "GetErrorCode". Também nesta classe é uma função chamada "DoQuery". Então você pode dizer com segurança que eu tenho algo assim:

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

Eu quero criar um teste phpunit que irá testar "DoQuery". No entanto, quero que o resultado de "GetErrorCode" seja determinado por uma simulação. Em outras palavras, quero dizer que, se $ errorCode = 1, GetErrorCode deve ignorar qualquer lógica que esteja nesta função e apenas retornar a palavra "ONE". Se for qualquer número diferente de 1, deve retornar "NÃO".

Como você configura isso usando PHPUNIT Mocks?

questionAnswers(2)

yourAnswerToTheQuestion