2012-07-05 72 views
0
running(fakeApplication(), new Runnable() { 
     public void run() { 
      Content html = views.html.index.render(loginForm); 
      assertThat(contentType(html)).isEqualTo("text/html"); 
      assertThat(contentAsString(html)).contains("log in"); 
     } 
    }); 

我们使用此代码来测试视图是否正确呈现,但问题是视图中的文本没有使用我们为实际应用指定的Messages.en文件(所以它例如renderes login.login而不是“登录”)。在假应用程序中设置语言()用于播放! 2.0.2

有没有办法配置假应用程序使用特定的语言(然后让它寻找适当的消息文件)?

我们想这无济于事:

Map<String, String> config = new HashMap<String, String>(); 
    config.put("application.langs", "en"); 
    FakeApplication fakeApp = new FakeApplication(additionalConfiguration = config); 

回答

1

试试这个:

Map<String, String> config = new HashMap<String, String>(); 
config.put("application.langs", "en"); 
FakeApplication fakeApp = new FakeApplication(new java.io.File("conf/"), Helpers.class.getClassLoader(), config, , new ArrayList<String>())`; 
+0

与唯一的问题是,我无法通过“路径”和“additionalConfiguration”,因为它们不变量(即测试不会编译)另外,fakeApp构造函数需要一个路径文件 – nicohvi 2012-07-05 12:45:27

+0

对不起,我在混合Java和Scala ......看我最后一次编辑 – 2012-07-05 13:01:15

+0

这使得测试编译,但是消息.en文件仍然没有被读取。任何方式来查看应用程序是否使用t中的特定语言他的HTTP请求? – nicohvi 2012-07-05 13:11:55

相关问题