Java:JUnit
软件测试
软件测试是软件开发过程中不可缺少的一部分,对于发现软件缺陷、保证软件产品质量具有不可替代的作用。
按所属阶段和被测对象软件测试分为:单元测试、集成测试、系统测试和验收测试
- 单元测试:对软件中的最小可测试单元进行检查和验证。Java里单元指一个类,单元测试是在软件开发过程中要进行的最低级别的测试活动。
- 集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
按功能和非功能性分:黑盒测试和白盒测试
- 黑盒测试:又称功能测试,它注重于测试软件的功能性需求,完全不要考虑程序的内部结构和特性,只需测试输入输出之间关系的正确性。
- 白盒测试:又称结构测试、逻辑驱动测试,它只关注程序的内部结构、实现逻辑。
JUnit
1.JUnit 是一个Java语言的单元测试框架,逐渐成为xUnit家族中为最成功的一个;多数Java的开发工具(如Eclipse)都集成了JUnit单元测试工具。
2.JDK1.5及以上版本开始支持JUnit4,JUnit4采用注解实现测试代码的编写,简单易懂,其常用注解如下:
- @BeforeClass 注解:在所有方法执行之前执行,方法必须有static修饰。
- @Before 注解:与Junit3.x中的setUp()方法功能一样,在每个测试方法之前执行。
- @Test注解:当前测试方法。
- @After 注解:与Junit3.x中的tearDown()方法功能一样,在每个测试方法之后执行。Ø@AfterClass 注解:在所有方法执行之后执行,方法必须有static修饰。
3.一个JUnit4的单元测试用例执行顺序为:
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass
4.每一个测试方法的调用顺序为:
@Before -> @Test -> @After
5.断言:表示程序运行的真实结果与所以期望的结果是否一致,如果不一致则下面代码将不再执行。
assertXxx()方法,Xxx表示相应的断言方法,如assertEquals()、assertTrue()等。
注:
蓝框 :选中test方法名à鼠标右键“Run As”à点击“1 Junit Test Alt+Shift+X,T”,控制台输出如下:
红框:由于1不等于2,所以出现如下图所以结果:
如果1等于1,则此处颜色将变成绿色
代码1
代码2
注:
判断被测试的方法是否有异常抛出,由于此时不会出现java.lang.ArithmeticException异常,所以出现如下图所以结果:
如果div方法出现java.lang.ArithmeticException异常,则此处颜色将变成绿色
注:修饰类,则执行测试时将忽略整个类;修饰方法,则执行测试时将忽略掉该方法,所以测试方法中的代码不执行。
代码1
代码2
代码3
注:
红框:指定运行器,这里使用Suite运行器来运行测试
蓝框:指定运行哪些测试类。