JUNIT testando métodos vazios
Eu tenho uma classe java cheia de métodos vazios, e eu quero fazer algum teste de unidade para obter cobertura de código máximo.
Por exemplo, eu tenho esse método:
protected static void checkifValidElements(int arg1, int arg2) {
method1(arg1);
method2(arg1);
method3(arg1, arg2);
method4(arg1, arg2);
method5(arg1);
method6(arg2);
method7();
}
É mal nomeado por uma razão porque eu traduzi o código para melhor compreensão. Cada método verifica se os argumentos são válidos de alguma forma e estão bem escritos.
Exemplo:
private static void method1(arg1) {
if (arg1.indexOf("$") == -1) {
//Add an error message
ErrorFile.errorMessages.add("There is a dollar sign in the specified parameter");
}
}
Meu teste de unidade está cobrindo os pequenos métodos, porque eu peço para eles verificarem se o ErrorFile contém a mensagem de erro, mas eu não vejo como posso testar meu método checkIfValidElements, ele não retorna nada ou nada muda. Quando eu executo a cobertura de código com o Maven, isso me diz que o teste de unidade cobre essa parte da minha classe.
A única maneira que vejo é alterar esse método para retornar um valor int ou bollean, assim:
protected static int checkifValidElements(int arg1, int arg2) {
method1(arg1);
method2(arg1);
method3(arg1, arg2);
method4(arg1, arg2);
method5(arg1);
method6(arg2);
method7();
return 0;
}
Com esse método, eu posso fazer uma afirmação igual, mas parece-me que é inútil fazer isso. O problema é que eu tenho um par de classes que são projetadas assim e sua redução da cobertura de teste de unidade%.