如何使用Play2.4(Java)在jUnit测试中设置/模拟会话?
如何使用Play2.4和Java在jUnit测试中设置/模拟会话 最好的方法是能够做以下事情:如何使用Play2.4(Java)在jUnit测试中设置/模拟会话?,java,session,cookies,junit,playframework-2.4,Java,Session,Cookies,Junit,Playframework 2.4,如何使用Play2.4和Java在jUnit测试中设置/模拟会话 最好的方法是能够做以下事情: @Before public void setSession() { storeSession("user", "user@foobar.com"); } 到目前为止,我有以下选择: 重写测试以使用 我想应该有一些方法来配合这次会议 手工构造会话cookie以与WS一起使用 是否还有其他选择,或者是否会有如何手工构建会话cookie的示例 手工制作的cookie可用于以下用途: @T
@Before
public void setSession() {
storeSession("user", "user@foobar.com");
}
到目前为止,我有以下选择:
- 重写测试以使用
- 我想应该有一些方法来配合这次会议
- 手工构造会话cookie以与WS一起使用
@Test
public void testMyFoobar() {
// ... test setup
String cookie = "..."; // TODO generate session cookie with e.g. user=user@foobar.com
WSResponse response = WS.url("/myroute?param=123...").setHeader("PLAY_COOKIE", cookie).get().get(timeout);
// ... check the response content etc.
}
你能发布一个你想测试的代码示例吗?添加了一些示例,希望它们能说明你想用Selenium WebDriver创建集成测试是正确的吗?或者您想在不运行服务器的情况下创建单元测试?实际上,我想对JSON API进行某种集成测试。不管怎样,对于特定的情况,我最终改变了测试,以直接访问java类的低级,中间没有HTTP层(对于我的特定情况更为合理),用手工构造会话cookie,Session.encodeAsCookie可以是一个起点,例如(需要一些JavaCala转换等)。你能发布一个你想测试的代码示例吗?添加了一些示例,希望它们能说明你想用Selenium WebDriver创建集成测试是正确的吗?或者您想在不运行服务器的情况下创建单元测试?实际上,我想对JSON API进行某种集成测试。不管怎样,对于特定的情况,我最终改变了测试,以直接访问java类的低级,中间没有HTTP层(对于我的特定情况更为合理),用手工构造会话cookie,Session.encodeAsCookie可以是一个起点,例如(需要一些JavaCala转换等)。