Java тест на исключение - PullRequest
       3

Java тест на исключение

1 голос
/ 26 января 2020

У меня есть класс с этим методом

@Test
public void testWithOriginalPattern() throws Exception {
  this.OBJCET_CONTENT =
      "{\"service_instance\": \"foo\", \"notifications\": {\"subject\": \"bar0-9A-Za-z-._\"}}";
  final HttpServletRequest request = createGoodRequest(this.OBJCET_CONTENT);
  final ContainerMetadataManagementServlet containerMetadataManagementServlet =
      new MockContainerMetadataManagementServlet();
  assertNotNull(containerMetadataManagementServlet.runGetConfig(request, "/service-api-create-bucket-schema.json"));
}

Теперь я хочу сделать тест с недопустимыми символами в теме. Когда это происходит, выдается следующее исключение:

HttpException(400,{"status_code":400,"error_code":"MalformedNotificationsError","uri":"uri","message":"The provided JSON was not well-formed or did not validate against the published schema."},null)

Как мне проверить это?

Ответы [ 3 ]

1 голос
/ 27 января 2020

Измените метод теста, как показано ниже:

@Test(expected = StatusRuntimeException.class)
public void test01() 
{
  containerMetadataManagementServlet.runGetConfig(request,"/service-api-create-bucket-schema.json");
}
1 голос
/ 26 января 2020

Junit5 позволяет вам утверждать Throws, используя лямбда-синтаксис Java8: https://howtodoinjava.com/junit5/expected-exception-example

Их пример:

@Test
void testExpectedException() {

  Assertions.assertThrows(NumberFormatException.class, () -> {
    Integer.parseInt("One");
  });

}
0 голосов
/ 26 января 2020

Я решил это с @Test(expected = ServiceException.class)

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