2016-08-14 113 views
-2

嗨,这是我的Row Mapper类。如何在Spring Mapper类中编写junit测试用例

public class UserRowMapper implements RowMapper<UserData> { 

    @Override 
    public UserData mapRow(ResultSet resultSet, int line) throws SQLException { 
     UserData userData = new UserData(); 
     try 
     { 
      userData.setUserID(resultSet.getString("User_ID")); 
      userData.setUserName(resultSet.getString("User_Name")); 
      userData.setUserPassword(resultSet.getString("User_Password")); 
      userData.setUserRole(resultSet.getString("User_Role")); 
      userData.setUserStatus(resultSet.getString("User_Status")); 
      userData.setUserLogStatus(resultSet.getString("UserLog_Status")); 
      userData.setUserAccountName(resultSet.getString("User_AccountName")); 
      userData.setUserAccountID(resultSet.getString("User_AccountID")); 
      userData.setUserEmailID(resultSet.getString("User_EmailID")); 
      userData.setUserPasswordStatus(resultSet.getString("User_Password_ExpiryStatus")); 
      userData.setUserIDStatus(resultSet.getString("User_ID_Status")); 
      userData.setAcatTenantID(resultSet.getLong("acatTenant_ID")); 
      userData.setUserRoleCode(resultSet.getLong("User_Role_Code")); 
      userData.setUserSkillSetCode(resultSet.getLong("User_SkillSet_Code")); 
      userData.setUserAccountCode(resultSet.getLong("User_Account_Code")); 

      return userData; 
     } 
     catch (EmptyResultDataAccessException e) 
     { 
      return null; 
     } 
    } 

} 

这是我的Model类。

public class UserData { 

    private String userID; 
    private String userPassword; 
    private String userRole; 
    private String userStatus; 
    private String userLogStatus; 
    private String userName; 
    private String userAccountName; 
    private String userAccountID; 
    private String userIDStatus; 
    private String userPasswordStatus; 
    private String userEmailID; 

    private String userAdminID; 
    private String deactivationComment; 

    private String reqPageID; 
    private String userSessionID;  
    private String reqFunctionalityID; 

    private long userAccountCode; 
    private long userRoleCode; 
    private long userSkillSetCode; 
    private long acatTenantID; 


    public long getUserAccountCode() { 
     return userAccountCode; 
    } 
    public void setUserAccountCode(long userAccountCode) { 
     this.userAccountCode = userAccountCode; 
    } 

    public long getUserRoleCode() { 
     return userRoleCode; 
    } 
    public void setUserRoleCode(long userRoleCode) { 
     this.userRoleCode = userRoleCode; 
    } 

    public long getUserSkillSetCode() { 
     return userSkillSetCode; 
    } 
    public void setUserSkillSetCode(long userSkillSetCode) { 
     this.userSkillSetCode = userSkillSetCode; 
    } 

    public long getAcatTenantID() { 
     return acatTenantID; 
    } 
    public void setAcatTenantID(long acatTenantID) { 
     this.acatTenantID = acatTenantID; 
    } 

    public String getReqFunctionalityID() { 
     return reqFunctionalityID; 
    } 
    public void setReqFunctionalityID(String reqFunctionalityID) { 
     this.reqFunctionalityID = reqFunctionalityID; 
    } 

    public String getReqPageID() { 
     return reqPageID; 
    } 
    public void setReqPageID(String reqPageID) { 
     this.reqPageID = reqPageID; 
    } 

    public String getUserSessionID() { 
     return userSessionID; 
    } 
    public void setUserSessionID(String userSessionID) { 
     this.userSessionID = userSessionID; 
    } 

    public String getUserAdminID() { 
     return userAdminID; 
    } 
    public void setUserAdminID(String userAdminID) { 
     this.userAdminID = userAdminID; 
    } 

    public String getDeactivationComment() { 
     return deactivationComment; 
    } 
    public void setDeactivationComment(String deactivationComment) { 
     this.deactivationComment = deactivationComment; 
    } 
    public String getUserIDStatus() { 
     return userIDStatus; 
    } 
    public void setUserIDStatus(String userIDStatus) { 
     this.userIDStatus = userIDStatus; 
    } 
    public String getUserPasswordStatus() { 
     return userPasswordStatus; 
    } 
    public void setUserPasswordStatus(String userPasswordStatus) { 
     this.userPasswordStatus = userPasswordStatus; 
    } 

    public String getUserEmailID() { 
     return userEmailID; 
    } 
    public void setUserEmailID(String userEmailID) { 
     this.userEmailID = userEmailID; 
    } 
    public String getUserAccountID() { 
     return userAccountID; 
    } 
    public void setUserAccountID(String userAccountID) { 
     this.userAccountID = userAccountID; 
    } 
    public String getUserAccountName() { 
     return userAccountName; 
    } 
    public void setUserAccountName(String userAccountName) { 
     this.userAccountName = userAccountName; 
    } 
    public String getUserID() { 
     return userID; 
    } 
    public void setUserID(String userID) { 
     this.userID = userID; 
    } 
    public String getUserPassword() { 
     return userPassword; 
    } 
    public void setUserPassword(String userPassword) { 
     this.userPassword = userPassword; 
    } 
    public String getUserRole() { 
     return userRole; 
    } 
    public void setUserRole(String userRole) { 
     this.userRole = userRole; 
    } 
    public String getUserStatus() { 
     return userStatus; 
    } 
    public void setUserStatus(String userStatus) { 
     this.userStatus = userStatus; 
    } 
    public String getUserLogStatus() { 
     return userLogStatus; 
    } 
    public void setUserLogStatus(String userLogStatus) { 
     this.userLogStatus = userLogStatus; 
    } 
    public String getUserName() { 
     return userName; 
    } 
    public void setUserName(String userName) { 
     this.userName = userName; 
    } 

} 

以上班是我行映射和型号class.i不知道怎么写JUnit测试类行映射器类。请任何一个指导我如何写这些类的JUnit测试。

嗨,这里是我的以上类的Junit测试代码。

public class UserRowMapperTest { 
    UserRowMapper userRowMapper=null; 

    @Before 
    public void runBeforeEachTest(){ 
     userRowMapper= new UserRowMapper(); 

    } 
    @After 
    public void runAfterEachTest(){ 
     userRowMapper=null; 
    } 
    @Test 
    public void testMapRow(){ 
     userRowMapper.mapRow(resultSet, line); 
    }  
} 
+0

(1)找出你想要测试的行为。 (2)编写一个能证明行为正确的测试用例。 (3)重复。 –

+0

我想要涵盖Row Mapper类中的每种方法 – Deepu

+0

太棒了!所以现在做步骤(2)。 –

回答

0

从我的角度点没有什么在这里测试

您应该仅为具有一些业务逻辑的方法创建单元测试。我没有看到测试只使用getter和setter的方法的原因,因为通常他们什么都不做。

但是,如果你只是想练习这是建议你可以做单元测试。首先检查一下questions关于如何编写单元测试,因为它感觉你不明白你需要/想要达到什么。

一般来说,这是你想要的草图:

@Test 
public void testMapRow(){ 
    // SETUP SUT 
    UserRowMapper userRowMapper = new UserRowMapper()  
    // fill (prepare) in the Object that you want to pass to a method. 
    ResultSet resultSet = createResultSet(); 

    // EXERCISE 
    UserData resultData = userRowMapper.mapRow(resultSet, line); 

    // VERIFY 
    Assert.assertEquals(expectedValue, resultData.getSomeValue()) 
} 

附:顺便说一句,这个方法中的参数line没有意义,因为你不使用它。

关于NullPointerException,请看看quite popular question