gpt4 book ai didi

java - EasyMock - request.getSession 为空

转载 作者:行者123 更新时间:2023-11-29 03:07:52 25 4
gpt4 key购买 nike

我正在测试以下方法:

public static String createSn(HttpServletRequest request, String usrnm) {
HttpSession session = request.getSession(true);
session.setAttribute("UserID", usrnm);

return session.getId();
}

使用我的 JUnit 测试代码:

HttpServletRequest request = createNiceMock(HttpServletRequest.class);
HttpSession session = createNiceMock(HttpSession.class);
expect(request.getSession()).andReturn(session);

replay(request);
replay(session);

String username="testuser";
String snID = LogInUtils.createSn(request, username);

但是,这些行似乎产生了一个空指针异常:

HttpSession session = request.getSession(true);
session.setAttribute("UserID", usrnm);

总而言之,request.getSession(true) 似乎不适用于我的模拟请求。我哪里做错了?

感谢您的输入:)

最佳答案

你应该使用:

expect(request.getSession(true)).andReturn(session);

在您的示例中,您模拟了未在您的代码中调用的方法 request.getSession()

关于java - EasyMock - request.getSession 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155656/

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