Sobre testes unitários, capturar variáveis, é possivel?

1 resposta
junitjava
M

Estou iniciando estudos na programação de testes unitários, eis a situação:
Quero testar um método como por exemplo:

public void metodoRecebeStringTransformaEmDate(String a){
Date date = parseToDate(a)
...
}

Como eu posso pegar no método de teste essa variável “date” que foi criada dentro do método?
meu objetivo era fazer algo como

assertThat(date, dataEsperada);

OBS: o método de exemplo parseToDate seria private e retornaria uma data.
O método não faz tanto sentido, porém ele mostra qual a minha dúvida.

1 Resposta

Rodrigo_Sasaki

Geralmente quando escrevemos testes unitários, queremos testar que dados alguns argumentos, a resposta será o que esperamos. Existem muitos pontos negativos em tentar testar o funcionamento interno dos métodos, então essa prática não é recomendada.

No seu caso, você precisaria de um teste para confirmar que parseToDate está retornando a data esperada, e aí na hora de testar o método externo você teria outro teste que somente testa as entradas e as saídas novamente, confiando que parseToDate funcionará corretamente (porque você já tem testes para ele)

Criado 12 de setembro de 2019
Ultima resposta 12 de set. de 2019
Respostas 1
Participantes 2