单元测试之Junit测试框架
来源:互联网 发布:惯性导航算法 四元 编辑:程序博客网 时间:2024/05/02 06:44
看完这篇文章,不要再说自己不会单元测试了 ! ! !
Junit是什么!?单元测试框架!(Java+Unit)你真的没有用过吗?与之类似的TestNG,同样是一个单元测试框架,你可能也经常会用到。
单元测试是什么?通常来讲,单元测试也叫白盒测试,与黑盒测试不同,白盒测试需要看代码。
单元测试的内容是测试一个类内部的方法是否正确,返回值是否与预期值一致,如果返回值与预期值不符,那么使用Junit单元测试框架的时候就会报错,红色出错信息。
从狭义上来说单元测试是指一个函数、方法的功能测试验证,局限于一个class内部,以function为单位;
从广义上来说,任何一个project内部的功能都可以看做一个独立于其他部分的独立单元。从这个角度来讲单元测试无处不在。
从开发的角度来讲往往单元测试是开发来做的,也就是狭义上的单元测试,从大家目前的共识来说,也是这样的,因为这些部分是开发工作中的一部分。
单元测试框架Junit如何去用?我们使用的IDE是Eclipse。
首先要配置JDK,安装Eclipse,一般Eclipse中都默认安装了Junt4.
环境配置完成,Junit也配置好之后,开始Junit单元测试框架的第一步。
因为是单元测试,so 我们要有验证的东西。假设验证一个add方法。
class AddTest{
public int add (int a , int b){
return a+b;
}
}
在这个类里我们写了一个add方法,传入int类型的两个值a和b,返回a+b。
如果没有其他错误,那么我们这个简单的加法方法能够完成对int类型的数值的自动加法操作。
下面就是Junit登场的时候了。
首先我们要再编写一个类。TestAdd类,在这个类里进行测试。
class TestAdd{
}
在这个类里我们要导入要使用的Junit的jar包,我们使用任何一个java的外部工具都要导入这个工具的jar包。
import Junit.Test;
inport Junit.Assert;
一个是Junit提供的测试包,一个是Junit的断言包。
然后引入我们要测试的类
AddTest at = new AddTest();
这些工作做完后要开始编写测试类了:
注意我们要让Junit帮助我们完成单元测试的话必须在测试类上方添加@Test的注解,只有这样Junit才会测试这个类
@Test
public void testAdd() {
int d = c.add(1,2);
Assert.assertEquals(3, d);
}
到这里就大功告成了。
这里调用了一个Junit类库中的Assert类的方法,判断预期结果与实际结果是否一样。
绿色证明我们的方法是对的。
测试一下如果我们的方法是错误的会怎么样。
把return a+b 变为 a*b;
结果会怎么样?
红色错误,点击左下角的错误信息,可以定位到错误的位置。可以看到执行到我们编写的断言方法时出现了错误。
结果虽然错误,但是与我们的预期一致。
使用Junit可以方便我们定位错误,在开发中常常使用Junit搭配debug调试程序,更快的找到程序出错的地方。
在Selenium自动化测试阶段,Junit的使用频率很高。
当然也可以使用Log4j工具生成日志帮助我们调试程序,但这不是我们单元测试的内容了。
- 单元测试之Junit测试框架
- 软件测试之JUnit单元测试
- Android 中Junit 测试框架(单元测试)
- 软件测试技术JUnit和单元测试入门简介--Junit框架
- Java单元测试进阶之单元测试利器JUnit(测试自动化)
- android测试框架之单元测试
- Android测试:单元测试Junit
- Junit单元测试框架详解
- JUnit单元测试框架
- 单元测试junit框架详解
- Junit 单元测试框架
- 单元测试框架-Junit介绍
- Java单元测试框架Junit
- Java单元测试框架Junit
- junit Spring框架 单元测试
- JUnit单元测试框架
- -单元测试框架-Junit
- 【软件测试】使用JUnit框架实现Java单元测试
- 当前的信息孤岛为什么是不治之症
- FORM R12 MOAC
- 名企笔试:京东算法工程师笔试题(排序问题)
- javaweb学习笔记之servlet01
- HTTP协议介绍
- 单元测试之Junit测试框架
- POI方式替换Word中的文字
- Linux学习思维导图
- 知识库--Zookeeper ZkCli tool 实现-应用实例(71)
- iOS bugly集成报错
- centos 7 安装只有lo问题解决
- MySql分页查询语句分析
- vue2.0新手发车(一):使用webpack构建项目
- Oracle 表空间扩展和数据迁移