Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编写单元测试(JUnit)来使用DAO类检查数据库连接?_Java_Database_Unit Testing_Junit_Dao - Fatal编程技术网

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

Java 如何编写单元测试(JUnit)来使用DAO类检查数据库连接?,java,database,unit-testing,junit,dao,Java,Database,Unit Testing,Junit,Dao,我有一个名为PersonDAO的DAO类,我正在使用它从数据库中获取有关人员的信息。我想编写单元测试来检查数据库连接。这就是我目前所拥有的 @Test( expected= SQLException.class) public void testDatabaseConnection() throws Exception { } 另外,如何为findAll()方法编写单元测试?这是我在地图中存储人员信息时所拥有的。但是,我想知道如果我有一个数据库而不是地图,会有什么变化 @Test

我有一个名为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() );
}
@测试
公共void testFindAll()
抛出异常{
Mappeople=newlinkedhashmap();
people=PersonDAO.findAll();
assertEquals(PersonDTO.gettotalept(),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。。。这是一个答案。

基本上,如果您想在“实时”数据库上测试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。。。这是一个答案。

基本上,如果您想在“实时”数据库上测试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。。。这是一个答案。

基本上,如果您想在“实时”数据库上测试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。。。这是一个答案。

看看这个问题来回答您的第一个问题-如何创建数据库连接。


要回答第二个问题,关于如何测试
“findAll”
,您需要问问自己这个方法的作用是什么。例如,它会带来所有用户记录,然后首先检查表中有多少用户,并将其存储在一个变量中。然后插入另一个用户,再次调用findAll并计算返回的行数。然后测试您是否有
previousCount+1==currentCount

看看这个问题来回答您的第一个问题-如何创建数据库连接。


要回答第二个问题,关于如何测试
“findAll”
,您需要问问自己这个方法的作用是什么。例如,它会带来所有用户记录,然后首先检查表中有多少用户,并将其存储在一个变量中。然后插入另一个用户,再次调用findAll并计算返回的行数。然后测试您是否有
previousCount+1==currentCount

看看这个问题来回答您的第一个问题-如何创建数据库连接。


要回答第二个问题,关于如何测试
“findAll”
,您需要问问自己这个方法的作用是什么。例如,它会带来所有用户记录,然后首先检查表中有多少用户,并将其存储在一个变量中。然后插入另一个用户,再次调用findAll并计算返回的行数。然后测试您是否有
previousCount+1==currentCount

看看这个问题来回答您的第一个问题-如何创建数据库连接。



要回答第二个问题,关于如何测试
“findAll”
,您需要问问自己这个方法的作用是什么。例如,它会带来所有用户记录,然后首先检查表中有多少用户,并将其存储在一个变量中。然后插入另一个用户,再次调用findAll并计算返回的行数。然后测试是否有
previousCount+1==currentCount

单元测试不是一种不同的语言或方法。测试数据库连接的方法与在主程序中建立连接的方法相同。要测试findAll,请首先测试数据库中当前有多少个值,然后添加一个值…然后再次计数。测试必须是previousCount+1=CurrentCount,但我不确定测试数据库连接的语法。我假设我们需要使用连接类。你能告诉我语法吗?好的,我明白你的疑问。没有SQL语句来检查连接是否已建立。只要试着去拿一张唱片。如果没有连接,就会出现错误。我需要为此编写SQL查询吗?例如:让所有人使用“选择*”?单元测试不是一种不同的语言或方法。测试数据库连接的方法与在主程序中建立连接的方法相同。要测试findAll,请首先测试数据库中当前有多少个值,然后添加一个值…然后再次计数。测试必须是previousCount+1=CurrentCount,但我不确定测试数据库连接的语法。我假设我们需要使用连接类。你能告诉我语法吗?好的,我明白你的疑问。没有SQL语句来检查连接是否已建立。只要试着去拿一张唱片。如果没有连接,就会出现错误。我需要为此编写SQL查询吗?例如:让所有人使用“选择*”?单元测试不是一种不同的语言或方法。测试数据库连接的方法与在主程序中建立连接的方法相同。要测试findAll,请首先测试数据库中当前有多少个值,然后添加一个值…然后再次计数。测试必须是previousCount+1=CurrentCount,但我不确定测试数据库连接的语法。我假设我们需要使用连接类。你能告诉我语法吗?好的,我明白你的疑问。没有SQL语句来检查连接是否已建立。只要试着去拿一张唱片。如果没有连接,就会出现错误。我需要为此编写SQL查询吗?例如:让所有人使用“选择*”?单元测试不是一种不同的语言或方法。测试数据库连接的方法与在主程序中建立连接的方法相同。要测试findAll,请首先测试数据库中当前有多少个值,然后添加一个值…然后再次计数。测试必须是previousCount+1=CurrentCount,但我不确定测试数据库连接的语法。我是阿苏米