Spring Mockmvc가 중첩 된 양식 매개 변수를 전달합니다
-
21-12-2019 - |
문제
나는 다음과 같은 형식을 가지고있다
public class MyForm {
private Account account;
}
public class Account {
private String firstName;
}
.
firstname 매개 변수를 어떻게 통과합니까? (다음과 같은 접근법이 작동하지 않음)
mockMvc.perform(post("/xyz")
.param("account.firstName", "John"))
.andExpect(model().hasErrors())
.andExpect(view().name("/xyz"))
.andExpect(status().isOk())
. 해결책
마침내이 문제를 해결했습니다.독립 실행 형 설정을 사용하고 있기 때문에 유효성 검사기와 메시지를 정의해야했습니다.
void setupTest() {
MockitoAnnotations.initMocks(this)
this.mockMvc = MockMvcBuilders.standaloneSetup(getController())
.setValidator(getValidator())
.alwaysDo(MockMvcResultHandlers.print())
.build()
}
private MessageSource getMessageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename("messages");
messageSource.setUseCodeAsDefaultMessage(true);
return messageSource;
}
private LocalValidatorFactoryBean getValidator() {
def validator = new LocalValidatorFactoryBean()
validator.setValidationMessageSource(getMessageSource());
return validator;
}
. 제휴하지 않습니다 StackOverflow