O que é stub e mock?

Perguntado por: emata . Última atualização: 18 de maio de 2023
4.7 / 5 20 votos

Qual a diferença entre mock e stub? Enquanto um stub apenas provê respostas prontas para as chamadas que serão feitas durante o teste, o mock vai mais além e, além de prover as respostas, também valida as chamadas - ele conhece o comportamento esperado do sistema e testa este comportamento.

De maneira resumida, o Mock é uma classe que simula os comportamentos de outra classe. Ele serve para cenários em que queremos testar as lógicas e os algoritmos de uma classe que tem dependência de outra classe, mas isolando essas dependências.

Mocar os dados (na verdade mockar) vem de Mockup, significar criar um modelo ou maquete na vida real, mas em programação siginifca que alguém, no caso o json-server, vai simular a criação de uma API pra que você consiga testar outros códigos sem ter o trabalho de subir toda uma API real só pra isso.

Criando mocks
Você pode se registrar utilizando o seu e-mail e uma senha, ou então através de sua conta no GitHub ou Google. Uma vez logado, o próximo passo é criar um novo projeto na opção “New Project“. Basta colocar um nome e um prefixo para a API (este segundo passo é opcional).

Um mock é basicamente um objeto simulado aonde você pode controlar certos aspectos dele com o intuito de testar um comportamento específico dele próprio ou de outro que dependa dele. Imagine que você quer testar se um método de “Salvar” está fazendo tudo que deveria na ordem correta com as devidas validações.

Como o Stub funciona? Stub® (cloridrato de tansulosina) reduz a tensão da musculatura da próstata e uretra (canal de saída da urina) e deste modo facilita a eliminação da urina. O tempo médio estimado para início da ação é entre 4 e 8 horas.

Você deve tomar uma cápsula (0,4mg) ao dia, com ou sem alimentos. A cápsula deve ser ingerida inteira, por via oral, sem abrir ou mastigar, com um pouco de líquido. A presença de insuficiência hepática leve a moderada não necessariamente requer ajuste posológico, assim como a presença de insuficiência renal.

O stub são rotinas que ficam no cliente passando-se por um servidor e no momento em que são acionadas, através da rede ela busca o skeleton. O skeleton possui a implementação real da operação desejada pelo cliente, ou seja, ele quem irá executar a operação no servidor.

simulado adj (simulada f sing, simulados m pl, simuladas f pl)

O termo "Mock Objects" é utilizado para descrever um caso especial de objetos que imitam objetos reais para teste.

Geralmente o teste de integração é feito pela equipe de testers e desenvolvedores que já estão com a mão no código e já sabem dos possíveis erros que podem acontecer. Então, eles mesmos testam e já fazem os ajustes necessários.

Mocking é um estilo de teste que requer seu próprio conjunto de ferramentas, um conjunto de objetos especiais, que representam diferentes níveis de simulação do comportamento do objeto.

Quando feito com mocks é possível testar todos os comportamentos (if, for, switch, etc..) da aplicação e saber se os métodos chamaram os comportamentos desejados, passando os parâmetros desejados, na quantidade de vezes desejadas e agiram da forma desejada diante de um determinado retorno (como no caso do método ...

Já os métodos estáticos que não produzem efeitos colaterais, não envolvem polimorfismo e nem dependem de estado externo não deveriam ter razão para serem mockados. Quanto aos singletons e enums, estes, bem como quaisquer outros objetos estáticos, também deveriam ser imutáveis e não depender de qualquer estado externo.

Para criar o mock, selecione Collections, clique no menu de 3 pontos da coleção que deseja simular e, em seguida, selecione Mock collection. É preciso estar logado em uma conta do Postman para criar mocks.

Continuar lendo O que é função mock?