2
respostas

Teste metodo void

Bom dia, tenho um metodo em uma classe que faz a validacao da entrada de dados, este metodo é void, ele valida e se algum dado estiver errado ele lança uma exceed, comp posso fazer um teste mock deste metodo, obrigado

Abaixo o exemplo que preciso mockar, lembrando que este é um metodo auxilar a outro, e esta na mesma classe:

 public  void validar(List<PessoaVO> listaPessoa) throws BusinessException{
         for(PessoaVO pessoaVO : listaPessoa){
               for(DocumentoVO documentoVO : pessoaVO .getListDocumentoVO ()){
                   if((pessoaVO .getNome() == null) || (pessoaVO .getSobrenome() == null)
                   || (documentoVO .getIdentidade() < 1) ||  (documentoVO .getValidadeDocumento() == null)
                   || (documentoVO .getLocalDocumento() == null)){
                       throw new BusinessException(BusinessConstants.PARAMETROS_INVALIDOS);
                    }
               }
          }
    }
2 respostas

Fala ai Givanildo, tudo bem ?

Cara essa abordagem de código não é tão legal, geralmente quando estamos fazendo algum validação você espera uma resposta se está tudo certo ou não, portanto devia devolver um valor booleano, que dessa maneira você conseguiria testar sem nenhum problema.

Caso queira manter da forma que está, que é fortemente desaconselhável, você pode mockar a classe e pedir pra ela chamar o método real e em seu teste pode ficar esperando que dê alguma excessão, similar ao que foi feito no primeiro curso de testes.

Ok, entendi e mudei para true, voce tem um exemplo de teste para este ? Sendo que este metodo esta sendo chamado dentro de outro metodo na mesma classe, preciso fazer a cobertura de teste todos os metodos desta classe, see tiver um exemplo agradeço.