Em cada UM destes metodo tenho que criar um ambiente COMPLETO ?
Ex: Para testar Update eu tenho que ter “algo” adicionado… no metodo testUpdate eu TERIA que adicionar ANTES ou eu posso aproveitar o que o metodo testeSave já adicionou ? HEHEHEHE
O JUnit foi desenhado para que cada teste seja independente. Tanto é assim que para cada método de teste executado, o JUnit cria uma nova instância da classe de teste. Se você precisa de tarefas que são comuns aos testes, como abrir conexão com o banco, inicializar a classe, etc., você pode colocar esse código em um método anotado com @Before. Método anotados com @Before são executados antes de cada um dos testes. Você anotar métodos com @After também, caso precise de alguma limpeza.
[quote=AlexandreGama][quote]
O JUnit foi desenhado para que cada teste seja independente. Tanto é assim que para cada método de teste executado, o JUnit cria uma nova instância da classe de teste. Se você precisa de tarefas que são comuns aos testes, como abrir conexão com o banco, inicializar a classe, etc., você pode colocar esse código em um método anotado com @Before. Método anotados com @Before são executados antes de cada um dos testes. Você anotar métodos com @After também, caso precise de alguma limpeza.
[/quote]
Boa!
@chun
Lembrando que se o seu código de teste faz testes direto no banco, existem outras soluções mais interessantes, “mockando” o seu banco.
Abs![/quote]
Eu vou utilizar Mocks apenas nos Servicos… nos repositorios preciso validar junto com o EntityManager (to testando sintexes , etc…)… se eu mockar o EntityManager vai dar ZICA.
Eu prefiro utilizar uma classe que possui métodos que são utilizados em varios @tests. Isso evita duplicidade e deixa seu código mais organizado, alem do trabalho que é polpado. Na sua classe test você só chamaria o método, uma linha de código.