ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

软件测试第二次作业

2019-03-24 16:53:53  阅读:210  来源: 互联网

标签:单元测试 作业 测试 Test 第二次 方法 JUnit4 测试方法 软件测试


一、什么是单元测试

面向对象程序主要是由一个个的类组成的,一个类或一个对象就是一个单元,而比类更小的单元是类的方法。如果类中的基本单元——如某些方法不能正常工作,在某些输入条件下会得出错误的执行结果,那么如何保证类/对象乃至整个应用软件或系统作为一个整体能正常工作呢?所以,简单说,单元测试的目的就是首先保证一个系统的基本组成单元、模块(如对象以及对象中的方法)能正常工作。


二、进行单元测试的意义

看上去像是增加了代码量,但是实际上却是减少了之后可能对代码修改的几率,尽可能的实现一次性编写就能成功的这个梦想。

 

三、工具

JUnit3/JUnit4

 

四、什么是JUnit

基于测试驱动开发的测试框架,是xUnit系列的一个子系列。说简单点就是一个用于java测试的工具箱,里面有很多方法和规范可以供我们直接使用。

 

五、JUnit3/JUnit4的比较

JUnit3测试类需要继承TestCase

JUnit4不需要继承任何类

JUnit3测试函数约定:public、void、test开头、无参数

JUnit4需要在测试函数前面加上@Test

 

六、JUnit单元测试基础要点

1.JUnit是一种测试代码的框架,测试的目的是:保证代码没错,而不是保证代码正确。

2.测试类一般不要和目标类放在一起,但编译成的class文件是放在一起的。

3.单元测试主要是来测试程序的结果和自己期望的值是否相等

 4.创建测试类的步骤:

1)在工程下面创建一个名为 test 的 Source Folder ,这个源程序文件夹和 src文件夹的阶级是相等的

2)测试类和目标类的包名要相同,这样的好处是测试类就不要import导入目标类的源码

3)测试类的命名规则:假设目标类的名字是 Calculator,则创建的测试类应命名为 CalculatorTest 或者 TestCalculator

 在junit 4 当中测试类无需继承于 TestCase类,测试方法的名字也无需以test开头,主要以注解的方式来定义,只要在测试方法加上@Test就可以进行测试,但有些原则还是要以junit3 的风格来设计,比如测试方法以test开头。

 

@Test :定义一个测试方法的标志

@Test(timeout=1000) :设置超时时间,如果测试时间超过了你定义的timeout,测试失败

@Test(expected) : 申明出会发生的异常,比如 @Test(expected = Exception.class)

@Before : 跟junit 3.8 上的setUp() 方法同样的效果,方法名最好和setUp()一样,但不强求,在每一个测试方法之前被执行

@After : 跟junit 3.8 上的tearDown() 方法同样的效果,方法名最好和tearDown()一样,但不强求,在每一个测试方法之后被执行

@BeforeClass : 被该注解申明的方法,功能是:在所有的测试方法之前执行,只执行一次

@AfterClass : 被该注解申明的方法,功能是:在所有的测试方法之后执行,只执行一次

@Ignore :让 测试方法 或 测试类 不被执行,让其失去测试的功能

 

七、总结

以前在软件公司实习,就接触过Junit,所以很多东西都能很快接受。给我最大的感受就是,Junit很强大,也很便捷。

标签:单元测试,作业,测试,Test,第二次,方法,JUnit4,测试方法,软件测试
来源: https://www.cnblogs.com/L-Mengze/p/10588759.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有