@Autowired
private Validator validator;
@Test
public void testValidateMethodOfPaymentBadCreditCard() {
final MethodOfPayment mop = new MethodOfPayment();
command.setDescription("1234567890");
final Set<ConstraintViolation<MethodOfPayment>> constraintViolations = this.validator.validateProperty(mop, "cardNumber", Default.class);
Assert.assertFalse(constraintViolations.isEmpty());
for (final ConstraintViolation<MethodOfPayment> cv : constraintViolations) {
Assert.assertEquals(cv.getMessage(), "{error.invalid.cardNumber}");
}
}
ユニットクラスには、私のxmlにdefineのインスタンスがあります。
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
私の支払い方法には注釈が付けられています
@CreditCardNumber(message="{error.invalid.cardNumber}")
public String getCardNumber() {
return this.cardNumber;
}
このテストは、制約違反が空であるとオンラインで失敗します。空になってはいけないと思いましたよね?
なにが問題ですか?クレジットカードの検証に失敗するデータの種類は何ですか?