package mysqldb;
import static org.junit.Assert.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class PersonDBTest {
private static Connection con = null;
private PersonDB personDB = null;
@BeforeClass
public static void setUpBeforeClass() throws Exception
{
con = ConDB.getConnection();//创建连接
}
@AfterClass
public static void tearDownAfterClass() throws Exception
{
con.close();
}
@Before
public void setUp() throws Exception
{
personDB = new PersonDB();
}
@Test
public void testInsert() {
Person person = new Person();//创建Person对象,插入..
person.setId(2);
person.setUsername("chensi");
person.setPassword("123456");
person.setAge(20);
personDB.insert(person);
Person person2 = new Person();
person2 = personDB.getById(2);//这里用到了获取当前最大ID的方法.这个方法我设定为private类型.是帮助方法..数据库的ID我设定为自增..每次加1..
Assert(person, person2);
personDB.delete(getMaxId());//最后删除这条数据...测试不要给数据库增加垃圾数据.
}
@Test
public void testGetById() {
Person person = new Person();
person.setId(2);
person.setUsername("chensi");
person.setPassword("123456");
person.setAge(20);
personDB.insert(person);
Person person2 = new Person();
person2 = personDB.getById(2);
Assert(person, person2);
personDB.delete(2);
}
@Test
public void testDelete() {
Person person = new Person();
person.setId(2);
person.setUsername("han");
person.setPassword("111");
person.setAge(11);
personDB.insert(person);
Person person2 = new Person();
person2 = personDB.getById(2);
Assert(person, person2);
personDB.delete(2);
Person person3 = new Person();
person3 = personDB.getById(person2.getId());
assertNull(person3.getUsername());
}
@Test
public void testUpdate() {
Person person = new Person();
person.setId(2);
person.setUsername("1111");
person.setPassword("pass");
person.setAge(111);
personDB.insert(person);
Person person2 = new Person();
person2 = personDB.getById(2);
this.Assert(person, person2);
Person person3 = new Person();
person3.setId(person2.getId());
person3.setUsername("2222");
person3.setPassword("word");
person3.setAge(0);
personDB.update(person3);
Person person4 = new Person();
person4 = personDB.getById(2);
Assert(person3, person4);
personDB.delete(person2.getId());
}
private void Assert(Person person1, Person person2)//帮助代码.起到提取代码的作用.
{
assertEquals(person1.getUsername(), person2.getUsername());
assertEquals(person1.getPassword(), person2.getPassword());
assertEquals(person1.getAge(), person2.getAge());
}
private int getMaxId()//帮助方法.所以设置为private
{
int id = 0;
try
{
String sql = "select max(id) from person ";
PreparedStatement st = con.prepareStatement(sql);
ResultSet rs = st.executeQuery();
if (rs.next())
{
id = rs.getInt(1);
}
} catch (Exception ex)
{
ex.printStackTrace();
}
return id;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
junit4测试数据库源码
共36个文件
class:12个
java:12个
jar:5个
5星 · 超过95%的资源 需积分: 47 57 下载量 14 浏览量
2011-07-13
13:09:05
上传
评论
收藏 2.07MB RAR 举报
温馨提示
包涵了junit4新特性assertThat断言和mysql,oracle俩种数据库的增删改查测试
资源推荐
资源详情
资源评论
收起资源包目录
junit4测试数据库源码.rar (36个子文件)
junit4测试数据库源码
jar
junit-4.8.1.jar 231KB
hamcrest-library-1.3.0RC2.jar 72KB
ojdbc14.jar 1.16MB
hamcrest-core-1.3.0RC2.jar 64KB
mysql-connector-java-5.1.7-bin.jar 693KB
junitDemo
.project 385B
bin
oracledb
personDaoTest.class 2KB
PersonDao.class 4KB
DBConn.class 1KB
my.sql 183B
Person.class 1KB
mysqldb
PersonDB.class 4KB
PersonDBTest.class 4KB
ConDB.class 1KB
test.sql 262B
Person.class 1KB
demo
User.class 347B
Demo.class 442B
UserTest.class 850B
DemoTest.class 1012B
test
oracledb
personDaoTest.java 3KB
mysqldb
PersonDBTest.java 3KB
demo
UserTest.java 321B
DemoTest.java 423B
.settings
org.eclipse.jdt.core.prefs 629B
src
oracledb
DBConn.java 1017B
Person.java 730B
PersonDao.java 3KB
my.sql 183B
mysqldb
PersonDB.java 2KB
ConDB.java 607B
Person.java 611B
test.sql 262B
demo
User.java 88B
Demo.java 152B
.classpath 829B
共 36 条
- 1
a198572800
- 粉丝: 0
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页