Я пытаюсь написать тест 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");
}
}
Я хотел бы проверить, какие ограничения нарушены. А пока проверяю сообщение о нарушениях. Есть ли способ лучше?