在假应用程序中设置语言()用于播放! 2.0.2
问题描述:
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);
答
试试这个:
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>())`;
与唯一的问题是,我无法通过“路径”和“additionalConfiguration”,因为它们不变量(即测试不会编译)另外,fakeApp构造函数需要一个路径文件 – nicohvi 2012-07-05 12:45:27
对不起,我在混合Java和Scala ......看我最后一次编辑 – 2012-07-05 13:01:15
这使得测试编译,但是消息.en文件仍然没有被读取。任何方式来查看应用程序是否使用t中的特定语言他的HTTP请求? – nicohvi 2012-07-05 13:11:55