JUnit desvantagens![RESOLVIDO]

7 respostas
R

Eae galera estou fazendo um trabalho sobre JUnit pra faculdade… nunca trabalhei com a ferramenta mas escuto falar bem dela e que permite a criação de testes automatizados utilizando Java… e quando vc começa a procurar na internet as vantagens e desvantagens da ferramenta é meio dificil encontrar as desvantagens então só estou vendo mais vantagens e claro se aplicar a ferramenta de forma certa nos testes ela vai ser pefeita mas existe algo que ela não seja boa, perfeita, fabulosa e maravilhosa? :smiley:

até agora só ví isso de desvantagens sobre o Junit

#O programador pode não adotar a idéia do uso da ferramenta para a melhora da qualidade do software, seja por causa da falta de costume ou da falta de interesse do mesmo.
#Se há pressão para a pronta entrega do sistema o programador ou testador podem ?burlar? os Testes#
#Para testar persistência (Hibernate/JPA), o JUnit precisa de um mock, ou seja uma simulação de como o sistema deve se comportar em tempo real, e para isso é preciso alterar uma abstração para utilizar um banco de memória (HSQLDB).

plugin dele para eclipse não trabalha muito bem (http://stackoverflow.com/questions/3438785/junit-vs-testng)

7 Respostas

P

Cara, não sei se vou falar besteira, mas na faculdade o professor disse que todos os métodos testados com o JUnit devem estar visíveis para a classe de teste, ou seja, não é possível testar métodos privados.

Para mim, isso é uma desvantagem pois nem sempre queremos todos nossos métodos públicos. Mas jogo isso aqui para os caras mais experientes! rs

P

Uma desvantagem bem grande dele é que dependendo da alteração que vc faz nos metodos vai ter que alterar os testes.

V
  1. Muitas vezes você deve escrever código mais complexo só para que ele seja testável (por exemplo, ter que recorrer a inversão de controle muito mais do que realmente seria necessário);
  2. Se você não usar nenhuma API especial, o que o colega falou é verdade, você terá que expor alguns métodos para que seu sistema seja testável;
  3. Alguns mocks podem ser muito difíceis de escrever, especialmente para testar sistemas de tempo real ou situações multi-thread;
  4. Há poucas soluções realmente boas para testar a interface gráfica;
  5. Alguns tipos de sistemas tem uma quantidade de estados tão grande, que testa-los automaticamente são um grande desafio. Um exemplo de sistemas assim são simuladores e games.
  6. Do contrário do que os sites dizem, TDD não muda sua forma de pensar, nem te faz um ser humano melhor, nem é a panacéia para todos os problemas da humanidade. Isso não é uma desvantagem: ele realmente ajuda. Mas também não é uma vantagem tão significativa quanto os autores levam a crer.

De qualquer forma, ainda é vantajoso ter uma boa cobertura de testes, especialmente em métodos mais críticos do seu sistema. Também é legal ter testes em métodos que tenham muitas regrinhas, como trechos de cálculos financeiros ou contábeis.

R

valeu galera!!!

J

[color=blue]e, na opiniao de vcs, existem ferramentas de teste melhores do que o JUnit atualmente? sou novo no Java. por isso estou perguntando.

sds,[/color]

R

kra depende do seu nível de aprendizado na framework e da necessidade em seu projeto

tem o JMock

http://blog.caelum.com.br/testes-unitarios-com-jmock-2/

J

[color=blue]bom, eu sou iniciante, entao, instalei o JUnit mesmo. depois, vou estudar os dois: o JUnit e o JMock.

valeu pela dica, Rauel.

sds,[/color]

Criado 25 de março de 2013
Ultima resposta 18 de abr. de 2013
Respostas 7
Participantes 5