Unidade testando um método que chama outro método
Qual é a melhor maneira de testar a unidade de um método que chama vários métodos, por exemplo:
modify(string value)
{
if(value.Length > 5) replaceit(value);
else changeit(value);
}
Esse pseudo-código possui um método de modificação que (atualmente) chamareplaceit()
ouchangeit()
. Eu já escrevi testes parareplaceit
echangeit
, portanto, escrever um novo teste para modificação terá 99% do mesmo conjunto de códigos. Eu preciso testá-lo, pois pode mudar no futuro.
Então, copio e colo o código de teste existente? Mover o código de teste para uma função comum? Alguma outra ideia? Não tenho certeza das melhores práticas aqui.