Bom, boa tarde gostaria de saber se alguém aqui primeiramente entende de JUnit + Mockito estou tendo que implementar no sistema que estamos fazendo atualmente na empresa e estava precisando de idéias, bom lendo sobre o assunto achei muito pouca coisas, gostariam que analisassem o que está abaixo e queria saber pra quem entende como vocês faria para mim ter uma ideia.
Um dos métodos que eu teria que cria um caso de teste:
`
@Service
public class AprovarFlexibilizacaoServiceImpl implements AprovarFlexibilizacaoService {
@Autowired
private Par12AntOperDiaAntecRepository par12AntOperDiaAntecRepository;
@Autowired
private Par13AntOperDiaAntecRepository par13AntOperDiaAntecRepository;
@Autowired
private Par19AntOperConsDtAntecRepository par19AntOperConsDtAntecRepository;
@Autowired
private Par32ParamTravaTxSprdMinRepository par32ParamTravaTxSprdMinRepository;
@Autowired
private Par34CanalXTravaRepository par34CanalXTravaRepository;
@Autowired
private Par38NegociacaoRepository par38NegociacaoRepository;
@Autowired
private Par41AntOperTotDispVencRepository par41AntOperTotDispVencRepository;
@Autowired
private FlexibilizacaoRepository flexibilizacaoRepository;
private static final String INDICADOR_TOTAL_NAO = "N";
private static final String STATUS_CONSULTA = "C";
private static final int SUCESSO = 0;
private static final int APROVADO_SEM_ALTERACAO = 1;
private static final int APROVADO_COM_ALTERACAO = 2;
private static final int TAXA_INFERIOR_TRAVA_32 = 23;
private static final int SPREAD_INFERIOR_TRAVA_32 = 24;
private static final int DT_OPER_MAIOR_HOJE = 25;
private static final int OPER_NAO_ENCONTRADA = 28;
private static final int FLUXOS_DIVERGENTES = 35;
private static final int STATUS_DIF_SIMULACAO = 41;
private static final int NAO_EXISTE_NEG = 53;
private static final int NEGOCIACAO_STATUS_INVALIDO_2_3 = 54;
private static final int NEGOCIACAO_STATUS_INVALIDO_4 = 55;
private void verificarTaxaSpreadMinimo(BigDecimal taxaProposta, BigDecimal spreadProposto, Date dataAntecipacao, Long canal)
throws ParBusinessException {
Par32ParamTravaTxSprdMin travaTaxaSpread = par32ParamTravaTxSprdMinRepository.obterTaxaSpreadMínimo(dataAntecipacao);
if(travaTaxaSpread != null){
Par34CanalXTrava bypass = par34CanalXTravaRepository.pesquisarCanalXTraxaExistente(travaTaxaSpread.getIdParamTravaTxSprdMin(), canal);
if(bypass == null){
if(taxaProposta != null && taxaProposta.compareTo(travaTaxaSpread.getParamTxMinima()) < 0 ){
throw new ParBusinessException(TAXA_INFERIOR_TRAVA_32);
}
if(spreadProposto != null && spreadProposto.compareTo(travaTaxaSpread.getParamSpreadMinimo()) < 0 ){
throw new ParBusinessException(SPREAD_INFERIOR_TRAVA_32);
}
}
}
}
}
`
Como eu implementei por enquanto:
`
public class AprovarFlexibilizacaoServiceTest {
@Mock
Par32ParamTravaTxSprdMinRepository par32ParamTravaTxSprdMinRepository;
@Mock
Par34CanalXTravaRepository par34CanalXTravaRepository;
@Mock
Par32ParamTravaTxSprdMin par32ParamTravaTxSprdMin;
@Mock
Par12AntOperDiaAntec par12AntOperDiaAntec;
@Mock
ObterDesconto desconto;
@Mock
AprovarFlexibilizacaoDto dto;
@Mock
FlexibilizacaoRepository flexibilizacaoRepository;
@Before
public void setUp(){
MockitoAnnotations.initMocks(this);
}
public void aprovarFlexibilizacaoTest () {
}
public void persistirFlexibilizacaoTest () {
}
public void persistirFlexibilizacaoAlteracaoTaxaTest (Par12AntOperDiaAntec par12, ObterDesconto desconto, AprovarFlexibilizacaoDto dto) throws ParBusinessException {
//Mockito.when(par32ParamTravaTxSprdMinRepository.obterTaxaSpreadMínimo(new Date())).thenReturn(par32ParamTravaTxSprdMin);
}
@Test
private void verificarTaxaSpreadMinimo(BigDecimal taxaProposta, BigDecimal spreadProposto, Date dataAntecipacao, Long canal) throws ParBusinessException {
Mockito.when(par32ParamTravaTxSprdMinRepository.obterTaxaSpreadMínimo(new Date())).thenReturn(par32ParamTravaTxSprdMin);
Mockito.verify(par32ParamTravaTxSprdMinRepository, Mockito.atLeastOnce()).obterTaxaSpreadMínimo(new Date());
Mockito.when(par34CanalXTravaRepository.pesquisarCanalXTraxaExistente(Mockito.anyLong(), Mockito.anyLong()));
Mockito.verify(par34CanalXTravaRepository, Mockito.atLeastOnce()).pesquisarCanalXTraxaExistente(Mockito.anyLong(), Mockito.anyLong());
Mockito.doThrow(new ParBusinessException(23));
Mockito.doThrow(new ParBusinessException(24));
}
}
`