Как я могу проверить более одного нарушения ограничения? - PullRequest
0 голосов
/ 04 марта 2020

Я создал валидатор для проверки аннотаций, которые я определил в классе моей модели ie @NotNull, @Pattern et c. При написании тестовых случаев я создал следующее утверждение, которое ищет одно нарушение. Однако в некоторых случаях имеет место более 1 нарушения. Как я могу изменить нижеследующее, чтобы проверить наличие более одного нарушения? По сути, я хочу иметь утверждение типа

result.getViolations().size(), is(1 or more)

ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
    Validator validator = validatorFactory.getValidator();

    Set<ConstraintViolation<CreateRequest>> violations = validator.validate(createRequest);

    if (violations.isEmpty()) {
        CreateResponse createResponse = restTemplate.postForObject(clientProperties.getCreateUrl(), createRequest, CreateResponse.class);
        return new ClientResult<>(createResponse);
    } else {
        return new ClientResult<>(violations);
    }

        assertThat("Number of violations", result.getViolations().size(), is(1));

1 Ответ

1 голос
/ 04 марта 2020

Вы можете изменить последнюю строку на:

assertThat("Number of violations", result.getViolations().size(), is(oneOf(1, 2)));

См. документы для oneOf метода.

Протестировано с Hamcrest 2.2

...