0
私はAccept-Language
ヘッダを設定することにより、ロケールを切り替えることができる(RestAssuredを使用して)作業統合テストを有するコントローラメソッドの引数の一つはLocale
Spring RESTドキュメントでロケールを切り替える方法は?
@RequestMapping("/{id}")
public Survey getSurvey(@PathVariable("id") SurveyId surveyId,
Locale locale) { ... }
ある@RestController
を有します。
これでSpring RESTドキュメントを使用してこれを文書化したいと考えています。この場合のヘッダーの設定(MockMvcを使用)は機能しません。このような
私のテスト何か:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration
@WebAppConfiguration
public void SurveyControllerDocumentation {
// Test methods here
...
// Application context for documentation test
@Configuration
@EnableAutoConfiguration
public static class TestConfiguration {
@Bean
public SurveyController controller(MessageSource messageSource) {
return new SurveyController(userService(), messageSource, surveyService());
}
@Bean
public UserService userService() {
return mock(UserService.class);
}
@Bean
public SurveyService surveyService() {
return mock(SurveyService.class);
}
@Bean
public CustomEditorsControllerAdvice customEditorsControllerAdvice() {
return new CustomEditorsControllerAdvice();
}
@Bean
public RestResponseEntityExceptionHandler exceptionHandler() {
return new RestResponseEntityExceptionHandler();
}
}
}
は、私は明示的にロケール注入を行い、私のテスト・コンテキストに追加する必要があるいくつかの豆はありますか?
私はあなたが要求ビルダーにlocale(Locale)
メソッドを使用してLocale
を設定することができます(春4.2.5を持っている)春のブート1.3.3
Thxをします。私は '.header(" Accept-Language "、" fr ")を追加して、http-request.adocがそのヘッダを表示するようにしました。これは、REST APIのユーザがロケールを設定する必要があるからです。 –