Grails集成测试国际化REST调用

时间:2013-02-11 12:59:06

标签: rest grails internationalization integration-testing

我正在尝试通过grails控制器的集成测试来测试国际化。 控制器启用REST并返回JSON响应。

为了测试国际化,可以简单地在URL中提供?lang = es,并且相应的消息包在内部由grails使用。

我在一个支持项目中,国际化已经按照预期的方式运作。当我提出卷曲请求时,我会收到正确语言的回复。

集成测试仅用于验证不同语言的特定响应。

我不确定如何通过集成测试请求任何语言。

我试过了:

  1. response.locale = new Locale(“es”,“es”)//无法正常工作
  2. controller.params.lang =“es”//无效
  3. 我从http://grails.org/doc/latest/guide/i18n.html#changingLocales找不到多少帮助。并且其他问题都没有,但相关文章可能是How to unit or integration test use of injected messageSource for i18n in Grails 2.0 service

1 个答案:

答案 0 :(得分:0)

集成测试使用具有方法GrailsMockHttpServletRequest的{​​{1}}类来更改当前测试请求的区域设置。

通常我们会通过addPreferredLocale(Locale)获取请求:

RequestContextHolder