Matcher Equivalente ao AsserEquals do JUnit

Topic created · 4 Posts · 103 Visualizações
  • Saudações para todos,

    Gostaria da ajuda dos amigos para este pequeno problema que encontrei: usando a API do REST-Assured com Java: durante a validação de um dos asserts no meu código de testes, acabei me deparando com a seguinte situação:

    Captura de tela de 2019-08-20 10-00-50.png

    Ambos os valores estão como Double, mas é como se ele não estivesse reconhecendo-os. Sempre está se esbarrando nesta mensagem de falha. Alterei o assert para deixar o valor de forma “genérica”, mas sem sucesso (conforme pode ser visto no snippet abaixo):

    .body("valorNominal.find{it != null}.doubleValue()", greaterThan(reizegistro.getValor()))
    

    No caso, teria algum assert que fizesse apenas a verificação do valor da forma como ele chega? Tipo, um assertEquals do JUnit, por exemplo, que valide apenas o valor e não o objeto retornado? Quem puder me ajudar desde já agradeço.

  • Mas o retorno está vindo como double? ele pode vir como “string” e na comparação pode dar esse erro…Tem como passar o trecho que retorna no json?

  • Oi @Ramses-Saccol-de-Almeida ,

    O retorno está vindo como double. Segue trecho do retorno do JSON, especificamente nos parâmetros “valorNominal” (o que está acusando o problema) e “valorNominalBoleto”:

    {
    “numeroDocumentoAvalista”: “1112761941111125”,
    “valorNominal”: 8224.98,
    “valorOriginalBoleto”: 8224.98,
    “email”: "[email protected]"
    }

    Alterei o valor também para BigDecimal, a fim de verificar se ele consegue capturar os dados, mas sem sucesso. 😞

  • @Ramses-Saccol-de-Almeida , consegui resolver da seguinte forma: alterei o valor de envio para o tipo “float”. Por incrível que pareça, após a alteração, o problema foi resolvido. Não sei especificamente o porquê o matcher do Hamcrest não conseguiuinterpretar as informações como um valor comum, mas enfim, problema resolvido.

    Obrigado pela ajuda e desejo uma boa quarta-feira para ti.