Ola galera tudo bem?
Iniciando um novo projeto e querendo melhorar meus testes, venho aqui com umas duvidas, se alguem puder me ajudar eu ficaria muito grato !
Basicamente meu projeto utiliza struts2 e ejb3 com JPA ai eu fiz o seguinte:
Para testar unitariamente os DAOs, configurei um presistence.xml para mode stand-alone, sendo assim é possivel rodar toda e qualquer consulta sem nenhuma dependencia, o teste dos daos eu considerei bom, minhas duvidas são quanto as outra camadas:
Depois desse ponto tenho a camada service que são Session Stateless:
Para realizar testes nesse EJBs eu troquei os DAOs por daos gerados pelo easymock, reparei que os metodos do easymock sempre retornam null. Isso me gera um problema:
EJBInterface ejb = new EJBInterface();
ejb.setDAOFactory(TesteUtil.getTestDaoFactory());
//Caso um EJB utilize o outro
ejb.getOutroEjb(createMock(OutroEjb.class));
//teste
Se eu tenho um metodo um pouco mais dificil:
lista = instanciaDeUmDaoMock.get();
if(lista != null)
......
Eu nunca vou testar a condição, existe uma forma de configurar isto no easymock ou vcs me recomendariam algum outro gerador de mock melhor que esse?
Ou eu devo gerar um mock ma não?
Para testar as Actions do struts 2 estou fazendo de forma muito parecida, ai reparei que ma primeira funcionalidade, que não foram escritos testes antes do codigo, a validação de campos esta em javascript nos formularios, vcs acham que vale a pena fazer um refactoring disso parar eu poder testar unitariamente?
Se sim, aonde eu devo colocar as validações? Nas Action ou em algum outro lugar?
O que me dizem?
Muito Obrigado