这是非常令人沮丧的。我使用dropwizard建立一个应用程序,并测试它junit5和dropwizard-测试模块(在junit5版)。然后,我试图在资源中测试一个简单的端点。端点接收 HttpSession(和请求),但它始终是null。我读了很多,但我找不到如何注入会话。
这是我的资源:
@POST
@Path("/doStuff")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_HTML)
public String doStuff(@Session HttpSession session
, @Context HttpServletRequest request) {
// Do the stuff with the session and the request
}
我的测试是这样的:
@ExtendWith(DropwizardExtensionsSupport.class)
class MyResourceTest {
ResourceExtension resources = ResourceExtension.builder()
.addResource(new MyResource())
.build();
@BeforeEach
void setup() {
}
@Test
void testDoStuff() {
Response response = resources.target("/api/doStuff")
.request(MediaType.APPLICATION_FORM_URLENCODED)
.accept(MediaType.TEXT_HTML)
.post();
System.out.println(response);
}
}
我需要通过测试来操作会话和请求。是否可以?感谢所有帮助。
呼啦一阵风
HUWWW
相关分类