Testing 在fakeApplication()中设置用于播放的语言!2.0.2

Testing 在fakeApplication()中设置用于播放的语言!2.0.2,testing,playframework,playframework-2.0,Testing,Playframework,Playframework 2.0,我们使用此代码测试视图是否正确呈现,但问题是视图中的文本没有使用我们为实际应用程序指定的Messages.en文件(因此它呈现login.login,而不是“login”) 有没有办法将fakeapplication配置为使用特定的语言(然后让它查找适当的消息文件) 我们尝试了这一点,但毫无结果: running(fakeApplication(), new Runnable() { public void run() { Content html

我们使用此代码测试视图是否正确呈现,但问题是视图中的文本没有使用我们为实际应用程序指定的Messages.en文件(因此它呈现login.login,而不是“login”)

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

我们尝试了这一点,但毫无结果:

    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");
        }
    });
Map config=newhashmap();
config.put(“application.langs”、“en”);
FakeApplication fakeApp=新的FakeApplication(additionalConfiguration=配置);
试试这个:

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

唯一的问题是我无法传递“路径”和“附加配置”,因为它们不是变量(也就是说,测试不会编译。此外,fakeApp构造函数需要一个路径文件。这使得测试可以编译,但Messages.en-file仍然没有被读取。有没有办法查看应用程序在HTTP请求中是否使用特定的语言?在您看来,您可以使用
request().acceptLanguages()打印语言。)
Ok,我认为问题在于我只是使用了“views.html..render()”,它显然没有调用控制器,因此显然没有利用配置文件。
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>())`;