0
我有一個春天MVC應用程序,其中一個控制器有以下幾種方法:的JUnit Spring MVC的控制器
@PreAuthorize("isAuthenticated()")
@RequestMapping(value = "/admin/edit_admin", method = RequestMethod.GET)
public String editAdmin(Model model, HttpServletRequest request) {
String returnPage = "create_admin";
if (request.getParameter("login") != null) {
try {
List<AdminUser> userList = adminDAO.getAdminByLogin(request
.getParameter("login"));
if (userList.size() == 1)
model.addAttribute("ADMIN_USER", userList.get(0));
returnPage = "edit_admin";
} catch (Exception err) {
returnPage = "edit_admin";
}
}
return returnPage;
}
DAO Class:
public List<AdminUser> getAdminByLogin(String login) throws SQLException {
List<AdminUser> userList = new ArrayList<AdminUser>();
String sql = "select * from ADMIN_USER where login=?";
List<Map<String, Object>> result = jdbcTemplate
.queryForList(sql, login);
AdminUserRowMapper rowMapper = new AdminUserRowMapper();
for (Map<String, Object> map : result) {
AdminUser aUser = (AdminUser) rowMapper.mapRow(map);
userList.add(aUser);
}
return userList;
}
我需要編寫JUnit測試類,兩個控制器和DAO。 我第一次嘗試編寫JUnit測試控制器:
@Test
public void editAdmin() throws SQLException {
AdminUserDAO adminDAO = new AdminUserDAO();
List<AdminUser> userList = adminDAO.getAdminByLogin("1234");
}
但是當我運行這個類,我得到NullPointerException異常的DAO類拋出。 有人可以幫我編寫Controller和DAO的Junit測試類。 我不能使用MockMvc,因爲我使用的是不兼容的Spring框架。