对StatusDaoImpl进行单元测试
(1)编写测试方法testFindById()
(2)编写测试方法testUpdate()
package net.hw.student.test;
import net.hw.student.bean.Status;
import net.hw.student.dao.StatusDao;
import net.hw.student.dao.impl.StatusDaoimpl;
import org.junit.Test;
public class TestStatusDaoimpl {
// 声明状态数据访问对象S
StatusDao dao = new StatusDaoimpl();
@Test
public void testFindById() {
// 调用状态数据访问对象的查询方法
Status status = dao.findById(1);
// 输出状态信息
System.out.println("作者" + status.getAuthor());
System.out.println("学校:" + status.getCollege());
System.out.println("版本:" + status.getVersion());
System.out.println("地址:" + status.getAddress());
System.out.println("邮箱:" + status.getEmail());
System.out.println("邮箱:" + status.getEmail());
}
@Test
public void testUpdate() {
// 调用状态数据访问对象的查询方法
Status status = dao.findById(1);
// 修改状态对象的属性
status.setAuthor("无心剑");
status.setTelephone("13845456780");
status.setEmail("[email protected]");
// 调用状态数据访问对象的更新方法
int count = dao.update(status);
// 判断状态更新是否成功
if (count > 0) {
System.out.println("状态记录更新成功!");
System.out.println( dao.findById(1));
} else {
System.out.println("状态记录更新失败!");
}
}
}
对StudentDaoImpl进行单元测试
(1)编写测试方法testInsert()
(2)编写测试方法testDeleteById()
(3)编写测试方法testDeleteByClass()
(4)编写测试方法testFindByName()
(5)编写测试方法testFindAll()
(6)编写测试方法testFindRowsBySex()
package net.hw.student.test;
import net.hw.student.bean.Student;
import net.hw.student.dao.StudentDao;
import net.hw.student.dao.impl.StudentDaoimpl;
import org.junit.Test;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
public class TestStudentDaoimpl{
// 定义学生数据防问对象。
StudentDao dao = new StudentDaoimpl();
@Test
public void testInsert() {
// 创建学生对象。
Student student = new Student();
// 设置学生对象属性。
student.setId("19242094");
student.setName("张晓慧");
student.setSex("女");
student.setAge(19);
student.setDepartment("艺术传媒学院");
student.setClazz("2019数媒三班");
student.setTelephone("15890674568");
// 调用学生数据访问对象的插入方法。
int count = dao.insert(student);
// 判断学生记录是否插入成功。
if (count > 0) {
System.out.println("恭喜,学生记录插入成功。");
System.out.println(dao.findById(student.getId()));
} else {
System.out.println("遗憾,学生记录插入失败。");
}
}
@Test
public void testDeleteById() {
String id = "19242094";
// 调用学生数据访问对象的按id删除方法。
int count = dao.deleteById(id);
// 判断学生记录是否删除成功。
if (count > 0) {
System.out.println("恭喜,学生记录删除成功。");
} else {
System.out.println("遗憾,学生记录删除失败。");
}
}
@Test
public void testDeleteByClass() {
String clazz = "2019小教三班";
// 调用学生数据访问对象的按班级删除方法。
int count = dao.deleteByClass(clazz);
if (count > 0) {
System.out.println("恭喜,[" + clazz + "]学生记录删除成功。");
} else {
System.out.println("遗憾,[" + clazz + "]学生记录删除失败。");
}
}
@Test
public void testFindByName() {
String name = "李";
// 调用学生数据访问对象的按姓名查找方法。
List students= dao.findByName(name);
// 判断列表里是否有元素。
if (students.size() > 0) {
// 通过增强for循环遍历学生列表。
for (Student student : students) {
System.out.println(student);
}
}else {
System.out.println("温馨提示 : 查无此人。");
}
}
@Test
public void testFindAll() {
//调用学生数据访问对象的查找全部方法。
List students = dao.findAll();
// 通过增强for循环遍历学生列表。
for (Student student : students) {
System.out.println(student);
}
}
@Test
public void testFindRowsBySex() {
// 调用学生数据访问对象的按性别统计人数方法。
Vector rows = dao.findRowsBySex();
// 获取向量的迭代器。
Iterator iterator = rows.iterator();
// 遍历迭代器。
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
@Test
public void testDeleteByDepartment() {
String dep = "外语系";
// 调用学生数据访问对象的按班级删除。
int count = dao.deleteByDepartment(dep);
if (count > 0) {
System.out.println("恭喜,【" + dep + "】学生记录删除成功。");
} else {
System.out.println("遗憾,【" + dep + "】学生记录删除失败。");
}
}
@Test
public void testUpdate() {
// 调用学生数据访问对象的查询方法。
Student student = dao.findById("19205267");
// 修改学生对象的属性。
student.setName("白山蓝");
student.setAge(18);
student.setDepartment("新闻系");
student.setSex("女");
student.setTelephone("15082074698");
student.setClazz("19语教一班");
// 调用学生数据访问对象的更新方法。
int count = dao.update(student);
// 判断学生更新是否成功。
if (count > 0) {
System.out.println("学生记录更新成功。");
System.out.println(dao.findById("19205268"));
} else {
System.out.println("学生记录更新失败。");
}
}
@Test
public void testFindById() {
// 调用学生数据访问对象的查找方法。
Student student =dao.findById("19205267");
// 输出学生信息。
System.out.println("id" + student.getId());
System.out.println("性别:" + student.getSex());
System.out.println("姓名:" + student.getName());
System.out.println("电话:" + student.getTelephone());
System.out.println("年龄:" + student.getAge());
System.out.println("班级:" + student.getClazz());
System.out.println("系部:" + student.getDepartment());
}
@Test
public void testFindByClass() {
// 调用学生数据访问对象的查找方法。
List students = dao.findByClass("19级软件三班");
// 输出学生信息。
for (Student student:students) {
System.out.println("id" + student.getId());
System.out.println("性别:" + student.getSex());
System.out.println("姓名:" + student.getName());
System.out.println("电话:" + student.getTelephone());
System.out.println("年龄:" + student.getAge());
System.out.println("班级:" + student.getClazz());
System.out.println("系部:" + student.getDepartment());
}
}
@Test
public void testFindByDepartment() {
// 调用学生数据访问对象的查找方法。
List students = dao.findByDepartment("新闻系");
// 判断列表里是否有元素。
if (students.size() > 0) {
//通过增强for循环遍历学生列表。
for (Student student : students) {
System.out.println("id" + student.getId());
System.out.println("性别:" + student.getSex());
System.out.println("姓名:" + student.getName());
System.out.println("电话:" + student.getTelephone());
System.out.println("年龄:" + student.getAge());
System.out.println("班级:" + student.getClazz());
System.out.println("系部:" + student.getDepartment());
}
} else {
System.out.println("温馨提示,没有这个系部。");
}
}
@Test
public void testFindRowsByClass() {
// 调用学生数据访问对象的按班级统计人数方法。
Vector rows = dao.findRowsByClass();
// 获取向量的迭代器。
Iterator iterator = rows.iterator();
// 遍历迭代器。
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
@Test
public void testFindRowsByDepartment() {
// 调用学生数据访问对象按系部统计人数方法。
Vector roows= dao.findRowsByDepartment();
// 获取向量的迭代器。
Iterator iterator = roows.iterator();
// 遍历迭代器。
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
:对UserDaoImpl进行单元测试
(1)编写测试方法testFindById()
(2)编写测试方法testLogin()
(3)编写测试方法testIsUsernameExisted()
(4)编写测试方法testInsert()
小结:测试类比较繁琐,在这个过程中也出现了一些错误,最后大多数都解决了,在写的过程中要信心一点,要不然最后出现错误修改还是有点麻烦的,最后这个测试前面与前面写的没连接上,所以暂时未能运行出结果。