Como praticante de TDD “mockista”, devo zombar de outros métodos na mesma classe que o método em teste?

Depois de ler o livro de Martin FowlerMocks não são stubsEu descobri que tenho praticado TDD da maneira "mockista".

Mas eu estou me perguntando se, mesmo no TDD de mockista, se é possível levar o escárnio longe demais.

Aqui está umAtualizada exemplo em pseudo-código em estilo Python:

def sync_path(self):
    if self.confirm_or_create_connection():
        self.sync(self.dirpath)

O método confirm_or_create_connection () cria uma conexão com um servidor.

Eu testei um método semelhante a este em dois testes, os quais simulam confirm_or_create_connection () e sync () (embora ambos sejam métodos na mesma classe). Em um teste, o simulado confirm_or_create_connection () retorna True e o teste confirma que sync () foi chamado, e no outro o mock confirm_or_create_connection () retorna False e o teste confirma que sync () não foi chamado.

Isso é razoável? Ou devo zombar dos objetos que confirm_or_create_connection () e sync () chamam? (Eu tenho outros testes de ambos os métodos que já fazem isso.)

Por favor, não responda a pergunta explicando que eu deveria estar praticando o TDD "clássico". Essa é uma resposta para outra pergunta:Devo praticar mock-ditismo ou clássica TDD?

questionAnswers(7)

yourAnswerToTheQuestion