【发布时间】:2015-08-24 17:36:41
【问题描述】:
我有一个名为 PersonDAO 的 DAO 类,我正在使用它从数据库中获取有关人员的信息。我想编写单元测试来检查数据库连接。这就是我目前所拥有的
@Test( expected= SQLException.class)
public void testDatabaseConnection()
throws Exception {
}
另外,我如何为 findAll() 方法编写单元测试?如果我将人员信息存储在地图中,这就是我所拥有的。但是,我想知道如果我有数据库而不是地图会发生什么变化
@Test
public void testFindAll()
throws Exception {
Map< Integer, PersonDTO > people = new LinkedHashMap<>();
people = PersonDAO.findAll();
assertEquals( PersonDTO.getTotalDept(), people.size() );
}
【问题讨论】:
-
单元测试不是不同的语言或方法。您测试数据库连接的方式与在主程序中建立连接的方式相同。
-
测试 findAll 首先测试您当前在数据库中有多少个值,然后添加一个值......然后再次计数。测试必须是 previousCount + 1 = currentCount
-
但我不确定测试数据库连接的语法。我假设我们需要使用 Connection 类。你能告诉我语法吗?
-
好吧,我明白你的疑问了。没有 SQL 语句来检查连接是否建立。只需尝试获取记录。如果没有连接,会抛出Error
-
我需要为此编写 SQL 查询吗?例如:让所有人使用“SELECT *”?
标签: java database unit-testing junit dao