1.学习目标
●了解Junit的概述
●掌握Junit的使用
2.内容讲解
2.1 Junit是什么
Junit是Java语言编写的第三方单元测试框架
2.2单元测试概念
●单元:在Java中,-个类就是一 个单元
●单元测试:程序猿编写的一-小段代码,用来对某个类中的某个方法进行功能测试或业务逻辑测试。
2.3 Junit单元测试框架的作用
用来对类中的方法功能进行有目的的测试,以保证程序的正确性和稳定性。
能够让方法独立运行起来。
2.4 Junit单元测试框架的使用步骤
java
编写业务类,在业务类中編写业务方法。比如增删改查的方法
编写测试类,在测试类中编写测试方法,在测试方法中编写测试代码来测试。
测试类的命名规范:以Test开头, 以业务类类名结尾,使用驼峰命名法
每一个单词首字母大写,称为大驼峰命名法,比如类名,接口名…
从第二单词开始首字母大写,称为小驼峰命名法,比如方法命名
比如业务类类名: ProductDao,那么测试类类名就应该叫: TestProductDao
测试方法的命名规则:以test开头, 以业务方法名结尾
比如业务方法名为: save, 那么测试方法名就应该叫: testsave
2.8 Junit常用注解Junit4.xxxx版本)
●@Before: 用来修饰方法,该方法会在每一 个测试方法执行之前执行一-次。
●@After:用来修饰方法,该方法会在每一个测试方法执行之后执行一-次。
●@BeforeClass: 用来静态修饰方法,该方法会在所有测试方法之前执行一-次。
●@AfterClass:用来静态修饰方法,该方法会在所有测试方法之后执行-次。
package com.sdjzu.crud;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.sql.*;
public class Testcrud {
private Statement statement;
private Connection conn;
@Before
public void init() throws Exception {
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
//jdbc:mysql://服务器的主机地址:端口号/数据库名?characterEncoding=utf8
//如果数据库主机地址是localhost,并且端口号是3306,那么可以省略localhost: 3306
String url="jdbc:mysql://localhost:3306/jdbc?characterEncoding=utf8&&serverTimezone=UTC";
String user="root";
String password="root";
conn = DriverManager.getConnection(url,user,password);
//3.创建statement对象
statement = conn.createStatement();
}
public void testFindAll() throws Exception {
//4.使用statement对象执行sql语句
String sql="SELECT * FROM users";
//执行查询的SQL语句,获取查询的结果
ResultSet rst = statement.executeQuery(sql);
//遍历resultSet结果集,从中获取查询的结果
while(rst.next()) {
//每次调用next()就是将游标移动到结果集的下-行
//获取当前行的每列数据,根据列名获取
int id=(int)rst.getObject("id");
String username=(String)rst.getObject("username");
String password1=(String)rst.getObject("password");
System.out.println(id + ":" + username + ":" + password1 );
System.out.println("________________________");
}
//5.关闭资源,后创建的先关闭
rst.close();
}
@After
public void destroy() throws Exception {
statement.close();
conn.close();
}
@Test
public void testInsert() throws Exception {
//添加数据的SQL语句
String sql="insert into users(id,username,password) values ('4','cl','245') ";
//使用statement执行SQL语句
//表示受影响的行数
int i = statement.executeUpdate(sql);
System.out.println(i);
}
}