gpt4 book ai didi

java - 在每个单元测试之前创建 session

转载 作者:行者123 更新时间:2023-11-30 04:19:22 25 4
gpt4 key购买 nike

我想使用 Play 2.1.1 驱动单元测试,这取决于用户登录或通过 API key 进行身份验证。我想做这样的事情:

/**
* Login a user by app, email and password.
*/
@Before
public void setSession() {
session("app", "app")
session("user", "user0@company.co")
session("user_role", "user");
}

有人可以向我指出正确的方法吗?或者是否有另一种方法可以让我将登录功能与单个单元测试分开?提前致谢!

最佳答案

由于在 Playframework 中,没有像 Servlet API ( Playframework uses cookies ) 中那样的服务器端 session ,因此您必须模拟每个请求的 session 。

您可以尝试使用FakeRequest.withSession() :

private FakeRequest fakeRequestWithSession(String method, String uri) {
return play.test.Helpers.fakeRequest(method, uri).withSession("app", "app").withSession("user", "user0@company.co").withSession("user_role", "user");
}

@Test
public void badRoute() {
Result result = routeAndCall(fakeRequestWithSession(GET, "/xx/Kiki"));
assertThat(result).isNull();
}

关于java - 在每个单元测试之前创建 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17488769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com