Java JSON тестовый блок с неправильным значением - PullRequest
0 голосов
/ 07 января 2020

У меня есть следующая функция:

public class NorthboundApiLogicTest {

  @Test
  public void testIfParametersValuesAreCorrect() {
    String body = "{\"exception\":\"world\",\"error\":\"Not Found\",\"message\":\"hello\""
        + ",\"timestamp\":\"2020-01-07T12:26:48.334386Z\",\"status\":\"404\"}";
    try {
      JSONAssert.assertEquals("{message:hello, exception:world, status:403, error:Not Found}", 
          body, false);
    } catch (Exception e) {
      System.err.println(e);
    }
    System.out.println(body);
  }
}

Я запускаю этот тест с Maven, и, как ни странно, он успешно проходит.

enter image description here

Однако этого не следует делать, поскольку я утверждаю, что status=403, но значение равно 404. Что я делаю неправильно?

1 Ответ

4 голосов
/ 07 января 2020

Он не может проанализировать JSON, прежде чем он даже выполнит утверждение для структуры, и вы просто регистрируете это через свой catch.

catch (Exception e) {
      System.err.println(e);
}

Вам нужно разрешить исключение из метода или перехватить его и вызвать fail() с соответствующим сообщением.

А затем исправить проблему с неразборчивым JSON, конечно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...