我想junit測試我的驗證器類,但我的驗證器類具有@autowired服務類。我如何使用Mocikto注入這些依賴關係?用Mockito和Autowiring測試JSR 303 bean驗證單元
我打算使用下面的代碼行調用驗證器。
Set<ConstraintViolation<MyDomainPOJOObject>> constraintViolationsFromJavaRules = validator.validate(myDomainPOJOObject, Default.class);
問題是我沒有自己實例化驗證器類。這是真正調用驗證器的isValid方法()的JSR 303框架。
另一件事是我不想使用spring Autowiring並使用@Mock and @InjectMock
註釋。
任何實例或想法?
我能得到它的工作具有下面的代碼
@Override
public <T extends ConstraintValidator<?, ?>> T getInstance(Class<T> key) {
if (key == com.nitin.validation.UpperCaseValidator.class) {
return (T)upperCasevalidator;
}
//throw new IllegalArgumentException("expecting SomeValidationValidator!");
return new ConstraintValidatorFactoryImpl().getInstance(key);
}