JUnit代码测试是什么?怎么写代码?

JUnit代码测试是什么?怎么写代码?,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

解析:

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就行了

执行成功控制台打印信息:

查看数据库表

可以看到增加了一条信息,测试成功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9952670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存