Ajuda com JUnit

7 respostas
J

Estou testando algumas classes com JUnit…
Tenho alguns métodos void e preciso testar eles também…
Alguém sabe como eu faço pra testar métodos utilizando o JUnit???
Se tem algum assert que eu possa utilizar para fazer esse teste???

Obrigado…

7 Respostas

Rafael_Steil

E qual o problema, mais especificamente? o que esse teu metodo faz? Por exemplo, digamos que vc tenha

int getTotalItens() {}
void adicionaItem(Item item) {}

um teste poderia ser

Assert..assertEquals(0, getTotalItens());
adicionaItem(meuItem);
Assert..assertEquals(1, getTotalItens());

Rafael

J
tenho esse método    public static void isCorrect(String cgcCpf)

ele verifica se um cpf é correto ou não

tipo eu faço assertTrue(isCorrect([CPF removido])!=null)

Ele me da o seguinte erro…
‘void’ type not allowed here

Rafael_Steil

Logico que nao ira funcionar… :smiley:

O teu isCorrect deveria retornar algo, como um boolean. Pela maneira que voce fez o teste, deveria retornar algum tipo de objeto, como String, mas, ao menos que voce tenha muita certeza do que esta fazendo, voce deveria estar retornando um tipo booleano.

Rafael

J

Tava tentando te explicar… esse método isCorrect não retorna nada… tem como testar métodos que não retornam nada???
Tipo… no JUnit pelo que eu vi até agora ele executa os testes apartir dos assert dentro dos métodos test… E esses assert dos que eu vi “todos” retornam um boolean, ou true, ou false… vc sabe se tem algum método de teste que retorne outro tipo, ou seja, se existe outros tipos de assert onde eu possa fazer diferentes testes???

Rafael_Steil

Mas ai eh que esta o ponto: pq o teu metodo nao retorna nada? nao parece haver razao para tal.

Se ainda assim voce nao quiser refatorar ele, use algo parecido como o meu outro post.

Rafael

J

Ele apenas “reporta” um Exception dizendo se o Cpf é válido ou não…

Todos casos valeu pela ajuda… vou rever esse método…
Mas a questão dos assert é aquela mesmo… tipo só tem basicamente aqueles testes… assertEquals(), assertTrue(), assertFalse(),…

Rafael_Steil

Lancar exception eh a pior cosia que voce pode fazer para este caso. Exceptions consomem muito processamento para serem geradas, e nao eh a maneira correta de tratar o codigo, ja que elas sao esperadas somente quando algo muito errado acontece.

Voce deveria retortnar true ou false no caso de cpf valido / invalido.

Rafael

Criado 11 de junho de 2004
Ultima resposta 11 de jun. de 2004
Respostas 7
Participantes 2