2012-07-05 1 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, указанный нами для нашего фактического приложения (так он отображает login.login вместо «log in», например).Установка языка в fakeApplication() для воспроизведения! 2.0.2

Есть ли способ настроить fakeapplication для использования определенного langauge (а затем просмотреть соответствующий файл сообщений)?

Мы попытались это без толку:

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-constructor хочет файл для пути. – nicohvi

+0

Извините, я смешивал Java и Scala ... см. мое последнее изменение. –

+0

Это заставило тест компилироваться, но сообщения .en-file все еще не был прочитан. Любой способ узнать, использует ли приложение конкретный язык в t он HTTP-запрос? – nicohvi

Смежные вопросы