junit框架介绍
JUnit ——是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。
junit安装步骤
1、在http://download.sourceforge.net/junit/ 中下载JUnit包并将Junit压缩包解压。
2、添加CLASSPATH环境变量.
3、双击“CLASS-PATH”关键字添加字符串“?:\Junit4.0Junti.jar”(注意,如果已有别的字符串请在该字符串的字符结尾加上分号“;”),这样确定修改后Junit就可以在集成环境中应用了。
4、对于IDE环境,对于需要用到的JUnit的项目增加到lib中,其设置不同的IDE有不同的设置 。
junit使用规范
使用junit的时候,不应该把它和业务逻辑代码放在一起,应该新建一个类来做测试.
1、测试类命名
规则: 被测试的类的类名+Test
如:LoginTest
2、测试用例的命名
规则:test+用例方法的名称
如: testSum
3、测试程序的包名定义规范
规则 被测试的类的包名前加上test.
如: test.com.lee.util
测试数据的准备方案
有三种方案可以选择:
1、在程序中直接写入测试数据.
在输出数据项不多的情况下可以采用
2、使用junitpack包中的InputDataUtil工具类,需要加上 import junitpack InputDataUtil;
这个测试方案要求把测试数据放在一个XML文件中:
3、...
junit注解
使用junit注解,需要时用junit4版本.
注解参数
@Test:使用该注解方法为测试方法,自动能够识别并执行
包含两个参数 :
expected = XXXException.class 期望出现的异常
timeout = xxx 设定程序运行的超时时间.
不能是静态方法,不能传形参
Ignore:被忽略的方法
Before:在每个测试方法之前被执行
After: 在每个测试方法之后被执行
BeforeClass : 在所有测试开始前执行
AfterClass: 在所有测试开始之后执行
特别注意:
setUp(),tearDown(),setUpBeforeClass(),tearDownAfterClass()这四个方法其实就是对应的
@Before、@BeforeClass、@After、@AfterClass这四个注解,
在Junit4开始使用注解时,其实可以替代这四个方法的功能,只是这四个方法是历史遗留方法,可以考虑使用,也可以直接使用注解替代。
assertTrue(...) 参数的值应是true
assertFalse(...) 参数的值应是false
assertNull(...) 应是null值
assertNotNull(...) 应是非null的值
assertSame(...) 使用==比较的结果为true(表示同一个对象)
AssertNotSame(...) 使用==比较的结果为false
assertEquals(...) 两个对象equals()方法比较结果为true
代码示例
package com.lee;
import org.junit.Test;
public class junitDemo {
public static void main(String[] args) {
}
public static int sum(){
int x = 5;
int y = 10;
return x + y;
}
}
package com.lee;
import org.junit.*;
public class junitDemoTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testSum() {
int max = junitDemo.sum();
Assert.assertSame(15, max);
Assert.assertEquals(new String("haha"), "haha");
Assert.assertNotNull(max);
Assert.assertTrue(true);
}
}
JUnit测试单元框架
发表于:2017-01-09
作者:网络转载
来源:
- 周排行
- 月排行
- 评论排行
-   对Controller的单元测试
-   单元测试:优雅的Spock框架
-   Android开发中如何进行单元测试?
-   iOS网络接口的单元测试
-   你应该知道的单元测试
-   你们单测覆盖率是如何统计的?原理是...
-   单元测试运行原理探究
-   Android开发中如何进行单元测试?
-   简化Java单元测试数据
-   什么是单元测试,和集成测试有什么区别?
-   一次单元测试优化的过程总结
-   黑盒测试方法之组合覆盖法
-   单元测试—DbUnit测试
-   在Node.js中为Restful API编写单元测试
-   从软件出发,非功能测试思考总结
-   展望2017,谁是网络技术头牌?
-   C/C++单元测试工具Visual Unit 4 介绍
-   国内外最好用的6款Bug跟踪管理系统
-   性能测试指标评估必读
-   百度软件测试方案模板
-   38张史上最全的IT工程师技能图谱
-   C/C++单元测试工具Visual Unit 4 介绍
-   2019年,你会选哪些安全测试工具?
-   十款Web服务器性能压力测试工具
-   软件测试入门指南:周期、模型和文档化
-   记自动化测试成神学习之路
-   软件测试全景图 -最全的思维导图