gpt4 book ai didi

spring - 如何在单元测试中使用 session ?

转载 作者:行者123 更新时间:2023-12-04 06:04:33 25 4
gpt4 key购买 nike

我有一个 spring 服务方法,它获取存储在 session 中的对象(使用 FacesContext),如下所示:

(MyObject)((HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest())
.getSession().getAttribute("myObject");

并且我想在调用该方法之前将该对象放入单元测试中的 session 中。

所以我在这篇文章中尝试了解决方案:

Spring Test session scope bean using Junit

在我的测试方法中,我在调用服务之前将对象放入 session 中,但是在尝试从 session 中获取对象时服务抛出异常,我猜这是因为 facescontext 不可用,你怎么看?

我正在使用 Spring , Junit ,JSF2,请指教,谢谢。

最佳答案

使用 Spring 3.2 这很容易

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(...)
@WebAppConfiguration
public class SessionTest {

@Autowired
MockHttpSession session;


@Test
public void sessionAttributeTest() throws Exception {

MyObject myObject = session.getAttribute("myObject");
...

}
}

更多信息: Request and Session Scoped Beans

关于spring - 如何在单元测试中使用 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8519497/

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