【单元测试Junit】

一junit测试介绍和搭建环境

1.什么是单元测试
● 单元测试是针对最小的功能单元编写的测试代码
● Java程序最小的功能单元是方式
● 单元测试就是针对单个Java方法的测试
2.为什么要使用单元测试
1.使用main()方法测试的缺点
● 只能有一个main()方法,不能把测试代码分离;
● 没有打印出测试结果和测试期望结果;
● 需要一种测试框架,帮助我们编写测试
2.单元测试的好处:
● 确保单个方法运行正常;
● 如果修改了代码,只需要确保其对应的单元测试通过;
● 测试代码本身就可以作为实例代码;
● 可以自动化运行所有测试并获得报告
3.JUnit单元测试框架介绍(单元测试最常用的测试框架)
1.Junit是一个开源的Java语言的单元测试框架
● 专门针对java语言设计,使用广泛;
● Junit事实上的标准单元测试框架
2.JUnit的特点
● 使用断言(Assertion)测试期望结果
● 可以方便阻止和运行测试
● 可以方便地查看测试结果
● 常用IDE(例如InteLLij Idea,eclipse)都集成了Junit
● 可以方便得集成到Maven
3.Junit设计
● TestCase:一个TestCase表示一个而测试
● TestSuite:一个TestSuite包含一组TestCase,表示一组测试
● TestFixture:一个eTestFure表示一个测试环境
● TestResult:用于收集测试结果
● TestRunner:用于运行测试
● TestListener用于监听测试过程,收集测试数据
● Assert:用于断言测试结果是否正确
4.Assert断言常用方法:
● 断言相等:assertEquals(100,x); //第一个参数是期望的值,第二个参数是实际方法的得出来的值
● 断言数组相等:asserArrayEquals({1,2,3},X);
● 浮点数断言相等:asserEquals(3.1416,x,0.0001); //第三个参数是浮点书精度
● 断言为null:assertNull(x);
● 断言为true/false:assertTrue(x>0) assertFalse(x<0)
● 其它:assertNotEquals/assertNotNull
5.总结(注意事项)
● 一个TestCase包含一组相关的测试方法
● 使用断言测试结果(注意浮点数asserEquals要指定delta)
● 每个测试方法必完全独立
● 测试代码必须非常见简单
● 不能为测试代码再编写测试
● 测试许哟啊覆盖各种输入条件,特别是边界条件

二.使用@Before和@After

● 同一个单元测试内的多个测试方法:测试前都需要初始化某些对象,测试后可能需要清理资源:Junit使用@Before和@After 可以实现,在@Before 方法中初始化测试资源,在@After方法中释放测试资源。
● JUnit对每个@Test方法:(执行过程)
○ 1.实例化CalCulatorTest;
○ 2.执行@Before方法
○ 3.执行@Test方法
○ 4.执行@After方法
● 注意:使用@After方法和@Before可以保证:
○ 单个@Test方法执行前会创建新的XxxTest实例;实例变量的状态不会传递给下一个@Test方法。
● @Test方法
○ 单个@Test方法执行后会执行@Before和@After方法
二.使用@BeforeClass和@AfterClass静态方法(过程)
1.在执行所有的@Test 方法前执行@Before标注的静态方法;
2.执行所有测试
3.在执行所有@Test方法后执行@AfterClass静态方法。
注意:@BeforeClass 静态方法初始化的对象只能存放在静态字段中,静态字段的状态会影响到所有的@Test

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值