我想測試一個正在使用dao的類。在我的測試課中,我嘲笑了DAO並將模擬注入了我測試的類的一個實例。我試圖做一個DAO類的假對象。JUnit創建dao假對象JAVA
@RunWith(MockitoJUnitRunner.class)
public class UserManagerTest {
@Mock
private UserManagerDao umDao;
@InjectMocks
private UserManager um = new UserManager();
@Before
public void initializeMockito() {
MockitoAnnotations.initMocks(this);
}
public void testGetUserId() {
}
在這裏,這是從UserManager.class和DAO類的方法
userManager.class
public long getUserId(String email) throws Exception {
String[] partsOfMail = email.split("@");
return umDao.getUserId(partsOfMail[0], partsOfMail[1]);
}
DAO類
public long getUserId(String userName, String domain) throws Exception {
String sql = msa.getMessage("sql.select.user_id");
Object[] params = new Object[] { userName, domain };
List<Long> result = getJdbcTemplate().queryForList(sql, params, Long.class);
if (result.size() > 0) {
return result.get(0);
}
return 0;
}
你面臨什麼問題?是否有意外的行爲,異常等...? – Jonathan
@Jonathan我不知道如何製作dao類的假物。 – NoSuchUserException
這很好,但從問題中不清楚問題是什麼。這可能有助於添加額外的細節。例如,如果'umDao'是'null'或者它實際上不是一個模擬對象等......它將幫助人們回答你的問題。 :-) – Jonathan