Reflexões sobre desenvolvimento de software (only in Portuguese)

sexta-feira, 2 de outubro de 2015

Junit Category para categorizar seus testes

Essa é uma excelente solução para quando existem testes que por qualquer razão rodam muito lentamente e não queremos executar sempre (mas queremos presente pra rodar quando necessário ou/e na ferramenta de integração contínua).

No caso, utilizando Maven, Junit e Java.

1. Crie uma interface vazia com um nome que faça sentido, por exemplo, FastTest.


2. Anote as classes que se encaixam nessa categoria com o @Category que o Junit provê e passe como parâmetro a categoria que você criou.


3. Agora adicione o surefire maven plugin no seu pom na parte build e crie um profile que rodará apenas os testes da categoria que você criou.


No exemplo acima, a execução do comando "mvn test -Pprofile-de-testes" executará apenas os testes contidos em classes anotadas com @Category(FastTest.class), ignorando os demais testes. Agora você consegue anotar os testes de maneira elegante sem precisar usar aqueles padrões feios nos nomes das classes.

Fonte: https://github.com/junit-team/junit/wiki/Categories