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 文件(因此它呈现 login.login 而不是“登录”例如)。

有没有办法将 fakeapplication 配置为使用特定的语言(然后让它查找适当的消息文件)?

我们试过这个无济于事:

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

1 回答 1

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>())`;
于 2012-07-05T12:34:21.760 回答