软件工程(2018)第二次作业
JUnit使用的简单介绍
一.开发工具的选择
我选用的是MyEclipse,关于MyEclipse与Eclipse的区别及资源---请关注这篇博客。
二.什么是单元测试?
软件的很多错误都来源于程序对模块功能的误解、疏忽或不了解模块的变化,如何能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他的模块,而且模块的质量能得到稳定的、量化的保证?单元测试就是一个很有效的解决方案。(引用于邹欣老师的构建之法)
三.进行测试前的准备工作
1.测试工具,MyEclipse里有自带的JUnit,关于JUnit的使用方法和资源---请关注JUnit介绍。
2.在进行测试之前需要有待测试的小程序。第一步需要先创建一个类,创建类的过程相信大家都会。但是在创建的过程中可能是随意的命名,在此和大家分享一下我在学习Java的过程中总结的一些命名小技巧吧。
<1>.项目名
一般使用小写字母,见名知意(例如:test)
<2>.包名
一般使用小写字母,通常会使用网址的反序,见名知意(例如:com.sau.object.oriented)
<3>.类名
一般使用驼峰式命名法,见名知意(例如:PlaneGame)
<4>.方法名
一般使用驼峰式命名法,见名知意(例如:myPlaneGame,此处需要与类名区分,通常首字母小写)
声明一下:该方法都是个人习惯,仅供产考!!!
四.使用JUnit对Demo进行测试
1.编写被测试类Calculate类
2.JUnit的导入
这里的MyEclipse的JUnit的导入和Eclipse是一致的:单击右键项目名-->Build Path --> Add Libraries --> JUnit --> 选择版本 --> Finish
3.编写CalculateTest测试类
4.运行测试类以及测试结果
(1). Runs:表示总共有几个测试方法,已经运行了几个;
(2). Errors:表示抛出异常的测试方法的个数;
(3). Failures:表示失败的测试方法的个数;
(4). 打钩:表示通过测试方法。
(5). 另外有个绿色的进度条表示测试成功,红色的进度条则表示测试失败。
5.自动添加测试方法
假设现在要测试的类里面有很多方法,总不能一个个的手写这些方法吧,所以可以用用IDE了。使用IDE自动生成测试类。因为将上面的CalculateTest类移动到了test目录下,所以这里IDE自动生成的测试Calcula
-te类的测试类取名叫CalculateAutoTest。
(1)生成步骤
(2)CalculateAutoTes的测试结果
五.后记
(1)当除数为0时的运行测试结果
当除数为0时,运行的结果可以看出除法的函数报错,在Errors处显示错误1,在右侧的一栏中并提示java.lang.ArithmeticException:/by zero,同时指错误所在的类以及对应的行数。
(2)当预期的结果与运行的结果不一致
当预期的结果与运行的结果不一致,运行的结果可以看出加法的函数报错,在Failure处显示错误1,在右侧的一栏中并提示java.lang.AssertionError:expted:<9> but was :<8>,同时指错误所在的类以及对应的行数。