В модульном тесте проверки бина JSR 303, как проверить, какие ограничения нарушены - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь написать тест jUnit для проверки bean-компонента. Я прочитал Как проверить аннотации проверки класса с помощью JUnit? и написал тестовый код, как показано ниже.

Моя среда:

  • Sprint Boot 2.2. 6
  • Java11
  • AssertJ 3.15.0

Целевой класс Bean:

public class Customer {

    @NotEmpty
    private String name;

    @Min(18)
    private int age;

    // getter and setter
}

Тестовый код JUnit:

public class CustomerValidationTest {
    private Validator validator = Validation.buildDefaultValidatorFactory().getValidator();

    @Test
    public void test() {

        Customer customer = new Customer(null, 18);

        Set<ConstraintViolation<Customer>> violations = validator.validate(customer);
        assertThat(violations.size()).isEqualTo(1); // check violations count

        // check which constraints are violated by the message of the violation
        assertThat(violations).extracting("message").containsOnly("must not be empty");
    }
}

Я хотел бы проверить, какие ограничения нарушены. А пока проверяю сообщение о нарушениях. Есть ли способ лучше?

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