Testing controller with fake session

会有一股神秘感。 提交于 2019-12-05 08:23:20

You can use the withSession(String, String) method of fakeRequest to put things in the Session. Note that this returns a fakeRequest so you can chain that method if you need to put multiple keys in the session.

Your test could then look something like this:

@Test
public void test() {
   running(fakeApplication(), new Runnable() {
       public void run() {
           String username = "Aerus";
           Result res = route(fakeRequest("GET", "/")
                            .withSession("username", username)
                            .withSession("key","value"));
           assert(contentAsString(res).contains(username));
       }
   });
}

Note also that I used the route method and not routeAndCall, the first is the replacement of the deprecated method.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!