首页 / JAVA / java – 单元测试DAO
java – 单元测试DAO
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 单元测试DAO,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1316字,纯文字阅读大概需要2分钟。
内容图文
![java – 单元测试DAO](/upload/InfoBanner/zyjiaocheng/815/cbf352906d3b493bbca3ed52c70c5cba.jpg)
我一直试图对我的DAO进行单元测试,但我还没有找到方法去做,我感觉有点绝望.我有一个看起来像这样的小DAO:
public interface ElectionsDao {
List<String> getDates();
}
我正在使用Spring框架使用SimpleJdbcTemplate进行DI.我的实现看起来像这样:
public class ElectionsDaoImpl extends SimpleJdbcDaoSupport implements ElectionsDao {
public List<String> getDates() {
List<String> dates = new ArrayList<String>();
try {
dates = getSimpleJdbcTemplate().query("SELECT electiondate FROM electiondate", new StringRowMapper());
} catch (DataAccessException ex){
throw new RuntimeException(ex);
}
return dates;
}
protected static final class StringRowMapper implements ParameterizedRowMapper<String> {
public String mapRow(ResultSet rs, int line) throws SQLException {
String string = new String(rs.getString("electiondate"));
return string;
}
}
}
我想要做的只是使用EasyMock对getDates()进行单元测试,但我还没有找到方法.我很困惑.有人能帮帮我吗?
解决方法:
看起来getSimpleJdbcTemplate似乎是单元测试的最大问题.您可以测试的一种方法是扩展测试中的类并覆盖getSimpleJdbcTemplate方法,例如
public class ElectionDaoTest {
/** Class under test */
private ElectionsDaoImpl dao;
@Before
public void setUp() {
dao = new ElectionsDaoImpl(){
SimpleJdbcTemplate getSimpleJdbcTemplate(){
// Return easy mock version here.
}
};
}
@Test
// Do tests
}
EasyMock可能有一种更简单的方法,但我对它并不熟悉.
内容总结
以上是互联网集市为您收集整理的java – 单元测试DAO全部内容,希望文章能够帮你解决java – 单元测试DAO所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。