JUnit MockMvc问题?

时间:2015-05-20 12:20:01

标签: java spring junit

我遇到了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();

当我添加用户时,我可以在数据库中看到新条目。当我想用findUserById搜索它时,我总是得到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 个答案:

没有答案