gpt4 book ai didi

java - 如何编写单元测试(JUnit)来使用 DAO 类检查数据库连接?

转载 作者:行者123 更新时间:2023-12-01 22:17:06 27 4
gpt4 key购买 nike

我有一个名为 PersonDAO 的 DAO 类,我使用它从数据库中获取有关人员的信息。我想编写单元测试来检查数据库连接。这是我到目前为止所拥有的

@Test( expected= SQLException.class)
public void testDatabaseConnection()
throws Exception {



}

另外,如何为 findAll() 方法编写单元测试?如果我将人员信息存储在 map 中,这就是我所拥有的。但是,我想知道如果我有数据库而不是 map 会发生什么变化

@Test
public void testFindAll()
throws Exception {

Map< Integer, PersonDTO > people = new LinkedHashMap<>();
people = PersonDAO.findAll();

assertEquals( PersonDTO.getTotalDept(), people.size() );
}

最佳答案

基本上,如果您想在“实时”数据库上测试您的 DAO,那么您正在谈论集成测试。

PersonDTO personDto;
Connection connection;

@Before
public void setUp() {
personDto = new PersonDTO();
connection = ConnectionUtil.someMethodThatReturnsConnection();
}

@Test
public void testIfConnectionNotNull() {
assertNotNull(connection);
}

@Test
public void testIfDAONotNull() {
assertNotNull(personDto);
}

@Test
public void testFindAll() {
// Let's presume you have 4 records
assertEquals(4, personDto.findAll().size());
}

如果您想继续使用 JUnit,Mockito、EasyMock...都是答案。

关于java - 如何编写单元测试(JUnit)来使用 DAO 类检查数据库连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30739881/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com