Это очень расстраивает.Я создаю приложение с использованием dropwizard и тестирую его с помощью junit5 и модуля dropwizard-testing (версия 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);
}
}
Мне нужно манипулировать сессией и запросом по тесту.Является ли это возможным?вся помощь приветствуется.