解析:
JUnit是Java进行单元测试的一个框架, 需要下载junit, 3.8版本和后来的4.0以后版本编写测试的方法略有不同,
在3.8.2中需要导入junit.framework.中的类, 进行测试的类必须继承自TestCase类, 测试方法名称中需要含test字样, 可以在setup和teardown函数中管理一些每个测试函数都需要的资源比如数据库连接等,在测试函数中使用assert开头的函数来进行测试代码开发.以下是从junit文档中摘出的范例:
import junit.framework.Test
import junit.framework.TestCase
import junit.framework.TestSuite
/**
* Some simple tests.
*
*/
public class SimpleTest extends TestCase {
protected int fValue1
protected int fValue2
protected void setUp() {
fValue1= 2
fValue2= 3
}
public static Test suite() {
/*
* the type safe way
*
TestSuite suite= new TestSuite()
suite.addTest(
new SimpleTest("add") {
protected void runTest() { testAdd()}
}
)
suite.addTest(
new SimpleTest("testDivideByZero") {
protected void runTest() { testDivideByZero()}
}
)
return suite
*/
/*
* the dynamic way
*/
return new TestSuite(SimpleTest.class)
}
public void testAdd() {
double result= fValue1 + fValue2
// forced failure result == 5
assertTrue(result == 6)
}
public void testDivideByZero() {
int zero= 0
int result= 8/zero
result++// avoid warning for not using result
}
public void testEquals() {
assertEquals(12, 12)
assertEquals(12L, 12L)
assertEquals(new Long(12), new Long(12))
assertEquals("Size", 12, 13)
assertEquals("Capacity", 12.0, 11.99, 0.0)
}
public static void main (String[] args) {
junit.textui.TestRunner.run(suite())
}
}
在4.0.2中的变化是:
测试需要@.junit.Test的Annotation标记,其他部分也使用了Annotation标记,setup和teardown使用@.junit.Before 和@.junit.After, 在eclipse3.1的环境中不支持4.0.2, 可以使用junit 4.0.2中提供的adapter类来帮助eclipse内置的junit发现新版本的测试函数
关于junit单元测试工具的安装请参看第二课的内容(其实就是导入一个junit的jar包就行了)首先认识几个注解标签
@Test:测试方法
@Before:初始化方法
@After:释放资源
执行顺序:@Before->@Test->@After
第一步新建测试文件夹(目的就是用来存放测试类,使项目更整洁,分类明确,好管理)
选中项目右键new->Source Folder 输入文件夹的名称例如test
在测试文件夹下创建测试类(就是创建个普通的类)
如下在测试类中使用junit进行单元测试
下面只是先搭建一个测试框架
搭建好之后测试hibernate访问数据库的代码注意:导入的包不要弄错,都是hibernate的包
public class StudentTest { private SessionFactory sessionFactory private Session session private Transaction transaction @Before public void init(){ //创建配置对象 Configuration config = new Configuration() //创建服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry() //创建会话工厂对象 sessionFactory = config.buildSessionFactory(serviceRegistry) //会话对象 session = sessionFactory.openSession() //开启事务 transaction = session.beginTransaction() } @Test public void testSaveStudents(){ Student s = new Student(1, "小明", new Date(), "北京xxxx街道5号楼201") session.save(s)//保存对象到数据库 } @After public void destory(){ transaction.commit()//提交事务 session.close()//关闭会话 sessionFactory.close()//关闭会话工厂 }}
进行测试如下: 选中测试方法右键run as ->junit test就行了
执行成功控制台打印信息:
查看数据库表
可以看到增加了一条信息,测试成功
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)