有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JUnit MockMvc问题?

我对JUnit和MockMvc有意见。这是我的密码:

MvcResult result = mockMvcUser.perform(post("/user/adduser")
            .content(user)
            .contentType(contentType))
            .andExpect(status().isOk())
            .andReturn();

    UserService userService = new UserService();
    String userId = result.getResponse().getContentAsString();
    User userObj = userService.findUserById(userId);
    // the userObj is null and I have no idea why
    MvcResult sessionIdObj = mockMvcLogin.perform(post("/login/authenticate")
            .param("username", userObj.getEmail())
            .param("password", userObj.getPassword())
            .contentType(contentType))
            .andExpect(status().isOk())
            .andReturn();

当我添加用户时,我可以在数据库中看到新条目。当我想用finduserbyd搜索它时,我总是得到null。当我在那里设置一个断点时,我每次都会得到用户对象,测试按照设计进行。我的问题是为什么在没有断点的情况下运行测试时总是得到null

这是findUserById的代码

public User findUserById(String id) {
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            User user = (User) session.get(User.class, id);
            return user;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            session.close();
        }
    }

我从来没有例外。我希望你们知道那里发生了什么


共 (0) 个答案