4
我們正在嘗試爲我們的視圖編寫測試,但其中一些需要會話變量才能正確呈現。這是標準測試的樣子:用於在Java Play中測試的HTTP上下文! 2.0.2
@Test
public void indexTest() {
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");
}
});
}
loginForm是我們在測試類中聲明的模擬表單。
然而,當我們試圖運行這個測試,我們得到以下錯誤:
「有可從這裏沒有HTTP上下文」
我們嘗試使用TESTSERVER並試圖獲得來自HTTP上下文請求到該服務器,但無濟於事。
感謝:-)
編輯 @nico_ekito
這是我周圍的登錄表單代碼:
Form<Login> loginForm = Controller.form(Login.class);
不過,我相信問題出在控制器內被調用,因爲該視圖不使用任何會話屬性。但是,authenticate()方法(在控制器中呈現,我相信當表單提交給視圖時)使用會話。
你是否從遊戲命令行運行測試?我知道如果從eclipse運行測試可能會有問題。 – maialithar
是的,我們在終端上運行'play test'。 – nicohvi
請在你的loginForm模擬器中顯示代碼。 –