Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
350 views
in Technique[技术] by (71.8m points)

spring mvc - How to inject Hibernate validator bean in Controller while unit testing?

I have controller with field Validator(hibernate-validator)

public class AuthorController {

@Autowired
private Validator validator

}


@Bean
public Validator validator() {
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    return factory.getValidator();
}

All works fine, but while unit testing I have mock

@Spy
private Validator validator;

@InjectMocks
private AuthorController authorController;

and method validate() doesn't work correctly, I have always Set size = 0.

I need to test logic where I need check violation constraints. I tried to use LocalValidatorFactoryBean - doesn't work and ValidatorImpl - error because that class hasn't default constructor(but in app works fine). What implementaion Validator I need use while testing?

question from:https://stackoverflow.com/questions/65927477/how-to-inject-hibernate-validator-bean-in-controller-while-unit-testing

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...