Testando métodos estáticos Outro tipo de acoplamento, difícil de ser testado, é o acoplamento com métodos estáticos. Acabamos de ver que, para simu...
Testando métodos estáticos Outro tipo de acoplamento, difícil de ser testado, é o acoplamento com métodos estáticos. Acabamos de ver que, para simular o comportamento das classes, é necessário fazer uso de objetos dublês e, de alguma forma, fazer com que a classe receba e utilize esses dublês. No caso de métodos estáticos, não há como recebê-los pelo construtor. Em nosso exemplo, imagine que a data da nota fiscal nunca possa ser no fim de semana. Se a nota for gerada no sistema, o sistema deve empurrar sua data para segunda-feira. Em PHP, para pegarmos a data atual do sistema, podemos fazer uso do método estático DateTime::createFromFormat(). Como simular seu comportamento e escrever um teste para a geração de uma nota fiscal em um sábado? Nesses casos, a sugestão é sempre criar uma abstração para facilitar o teste. Ou seja, em vez de fazer uso direto do método estático, criar uma classe/interface, responsável por devolver a hora atual, e que seja possível de ser mockada. Podemos, por exemplo, criar a interface Relogio e a implementação concreta RelogioDoSistema: O gerador, por sua vez, passa a fazer uso de um relógio para pegar a data atual:
a) II and IV are correct. b) II, III, and IV are correct. c) I, III, and IV are correct.
Vamos analisar as alternativas:
a) II e IV estão corretas.
b) II, III e IV estão corretas.
c) I, III e IV estão corretas.
A alternativa correta é a letra a) II e IV estão corretas.
0
0
✏️ Responder
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar