1、JUnit单元测试-基于JUnit4.x,单元测试,是在开发过程中要进行的最低级别的测试活动。 是需要与开发同步进行的工作。 属于编码的一部分。有程序员自己完成。 是为了确保类的某一个特定方法能成功执行一系列特定的任务。每个测试都确保只要给定输入,方法将输出预期的结果。,单元测试测什么?,通过单元测试检测:1.函数、过程或完成某一功能的程序块。2.类的成员函数3.核心方法及可能引入错误的地方4.特定的边界条件5.复杂算法6.复杂的业务逻辑7.需求变动频繁之处,认识JUnit,JUnit是一个帮助开发人员测试Java代码的测试框架 是Java的测试标准 开源,eclipse下设置JUnit,右击
2、项目选择Build Path选择configure BulidPath -Add LibraryJUnitJUnit4finish,创建项目下的test,1.在项目下创建一个source folder文件夹。(命名为test) 2.在test中创建与src文件夹相对应的包。(包名相对应) 3.Junit的命名方法:(1)测试类命名 *Test.java(2)测试方法需要满足的条件 : public的void的无方法参数的方法名以test开头 后面加上要测试的方法,JUnit4.x标签,JUnit4.x支持注解配置,不需要继承TestCase类。使用注解标签。导入相应的包即可。常用标签: Tes
3、t测试方法 BeforeClass 在测试初始化时执行一次(必须是public和static的) Before每次执行Test方法测试前执行(主要用于初始化) Ignore忽略测试(该测试不执行) After每次执行Test方法测试后执行(主要用于清理资源) AfterClass所有测试结束后执行(必须是public和static的) Test(timeout = *)显示测试 timeout毫秒数 Test(expected=*.class)测试异常expected异常类 SuiteClasses打包测试,进入Test,现阶段使用Junit主要是为了测试dao层的增删改查等方法是否可以正常执
4、行,第一个测试: 测试JDBC连接数据库,断言:assert,1.assertEquals();8个重载,用于查看对象中存的值是否是期望值,与字符串比较中的equals()类似。 2.assertFalse()和assertTrue();2个重载,用于测试返回值为boolean类型 3.assertSame()和assertNotSame();2个重载,用于比较两个对象的引用是否相等和不相等。类似=和!=比较对象。 4.assertNull()和assertNotNull();2个重载,用于查看对象是否为空和不为空 5.fail用于抛出错误,终止测试。,断言:期望值与测试值是否相同,编写测试方
5、法前的准备工作,导包,实例化一个UserInfoDaoImpl对象,增删改查之“增“,返回值为空,查询出插入值,断言(获取的值与插入值相同),测试成功,增删改查之“查“,测试查找方法: 必须重新插入值再更改. (测试方法是相对独立的, 不能使用前一个测试的输入或输出,最好不要存在耦合),查找方法,测试不能在数据库中存在垃圾数据,需要清除测试数据,增删改查之“改“,流程: 插入数据-取出数据-验证插入正确- 修改数据-重新获取数据-断言,增删改查之“删“,流程: 插入-删除-断言,所有的测试结果,JUnit的注意事项,1.JUnit仅仅只是告诉你,你所编写的方法能否执行,而不会去管其他的约束。 2.JUnit没有报错不能证明你是对的,而只是证明你没有错。,谢谢!,