4

ビューのテストを作成しようとしていますが、適切にレンダリングするにはセッション変数が必要なものもあります。これは、標準テストがどのように見えるかです:

@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を編集

これは私のloginFormを取り巻くコードです:

Form<Login> loginForm = Controller.form(Login.class);

ただし、ビューはセッションプロパティを使用しないため、問題は呼び出されているコントローラーにあると思います。ただし、authenticate()メソッド(フォームがビューに送信されたときにレンダリングされるコントローラー内)はセッションを使用します。

4

1 に答える 1