文章目录
七、实现步骤
(六)创建数据访问接口实现类
1、创建学校数据访问接口实现类
单元测试:对CollegeDaoImpl进行单元测试
(1)编写测试方法testFindById()
(2)编写测试方法testUpdate()
(3)同时运行多个测试方法
(4)修改完善测试代码
2、创建状态数据访问接口实现类
单元测试:对StatusDaoImpl进行单元测试
(1)编写测试方法testFindById()
(2)编写测试方法testUpdate()
3、学生数据访问接口实现类
单元测试:对StudentDaoImpl进行单元测试
(1)编写测试方法testInsert()
(2)编写测试方法testDeleteById()
(3)编写测试方法testDeleteByClass()
(4)编写测试方法testFindByName()
(5)编写测试方法testFindAll()
(6)编写测试方法testFindRowsBySex()
独立完成剩余方法的测试任务
(1)编写测试方法testDeleteByDepartment()
(2)编写测试方法testUpdate()
(3)编写测试方法testFindById()
(4)编写测试方法testFindByClass()
(5)编写测试方法testFindByDepartment()
(6)编写测试方法testFindRowsByClass()
(7)编写测试方法testFindRowsByDepartment()
4、创建用户数据访问接口实现类
单元测试:对UserDaoImpl进行单元测试
(1)编写测试方法testFindById()
(2)编写测试方法testLogin()
(3)编写测试方法testIsUsernameExisted()
(4)编写测试方法testInsert()
独立完成剩余方法的测试任务
(1)编写测试方法testDeleteById()
(2)编写测试方法testUpdate()
(3)编写测试方法testFindAll()
七、实现步骤
(六)创建数据访问接口实现类
在net.hw.student.dao包里创建impl子包,然后在里面创建四个数据访问接口的实现类。
1、创建学校数据访问接口实现类
创建学校数据访问接口实现类CollegeDaoImpl
单元测试:对CollegeDaoImpl进行单元测试
为了确保Dao层给上层提供正确的数据操作服务,应该进行单元测试,本项目采用JUnit4单元测试框架。
在根包net.hw.student里创建test子包,在里面创建测试类TestCollegeDaoImpl
(1)编写测试方法testFindById()
给testFindById()添加测试注解符
将单元测试JUnit4添加到类路径,才能使用测试注解符@Test
将鼠标移到@Test,按+组合键,弹出快捷菜单,选择第一项Add 'JUnit4' to classpath
执行单元测试方法testFindById()
查看添加到类路径的JUnit4
编写单元测试方法testFindById()代码
运行测试方法testFindById(),查看结果
(2)编写测试方法testUpdate()
运行测试方法testUpdate(),查看结果
由此可见,CollegeDaoImpl的两个方法都通过了单元测试,其实多个测试方法可以一起进行测试,这样做测试效率更高。
(3)同时运行多个测试方法
(4)修改完善测试代码
两个测试方法的第一行代码都是一样的,因此可以提取出来
在每个单元测试之前都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@Before即可。
在每个单元测试之后都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@After即可。
添加测试前与测试后要执行的代码
运行测试方法testFindById(),查看结果
运行测试方法testUpdate(),查看结果
2、创建状态数据访问接口实现类
创建状态数据访问接口实现类StatusDaoImpl
单元测试:对StatusDaoImpl进行单元测试
在net.hw.student.test包里创建测试类TestStatusDaoImpl
(1)编写测试方法testFindById()
运行testFindById()方法,查看结果
(2)编写测试方法testUpdate()
运行testUpdate()方法,查看结果
有些同学,在测试更新方法时,抛出MySQLSyntaxErrorException,如下图所示:
要学会看错误提示信息,这对于我们开发程序相当重要,提示在telephone = '13845456780’附近存在MySQL句法错误,因此,我们要去看源码进行调试,解决这个错误。
3、学生数据访问接口实现类
学生数据访问接口实现类StudentDaoImpl
单元测试:对StudentDaoImpl进行单元测试
在net.hw.student.test包里创建测试类TestStudentDaoImpl
(1)编写测试方法testInsert()
运行该测试方法,查看结果
可以打开数据表,查看插入的新记录
(2)编写测试方法testDeleteById()
运行该测试方法,查看结果
打开数据表,查看先前插入的记录【张晓慧】是否被删除
(3)编写测试方法testDeleteByClass()
运行该测试方法,查看结果
同学们,不妨打开学生表,查看是否删除成功
打开NaviCat,运行student.sql脚本,恢复数据。
(4)编写测试方法testFindByName()
运行该测试方法,查看结果
修改待查学生的姓名
运行该测试方法,查看结果
查找所有姓“李”的学生记录,修改查找目标
运行该测试方法,查看结果
(5)编写测试方法testFindAll()
运行该测试方法,查看结果
(6)编写测试方法testFindRowsBySex()
运行该测试方法,查看结果
独立完成剩余方法的测试任务
(1)编写测试方法testDeleteByDepartment()
(2)编写测试方法testUpdate()
(3)编写测试方法testFindById()
(4)编写测试方法testFindByClass()
(5)编写测试方法testFindByDepartment()
(6)编写测试方法testFindRowsByClass()
(7)编写测试方法testFindRowsByDepartment()
4、创建用户数据访问接口实现类
创建用户数据访问接口实现类UserDaoImpl
单元测试:对UserDaoImpl进行单元测试
在net.hw.student.test包里创建测试类TestUserDaoImpl
(1)编写测试方法testFindById()
运行该测试方法,查看结果
(2)编写测试方法testLogin()
运行该测试方法,查看结果
修改用户名和密码
运行该测试方法,查看结果
(3)编写测试方法testIsUsernameExisted()
运行该测试方法,查看结果
修改用户名,改成用户表里有的用户名【王霞】
运行该测试方法,查看结果
(4)编写测试方法testInsert()
运行该测试方法,查看结果
再次运行该测试方法,查看结果
因为不允许同名用户插入,所以用户记录插入失败。
独立完成剩余方法的测试任务
(1)编写测试方法testDeleteById()
(2)编写测试方法testUpdate()
(3)编写测试方法testFindAll()