Junit 单体测试
来源:互联网 发布:淘宝转让合法吗 编辑:程序博客网 时间:2024/05/18 03:15
代码测试:
白盒测试:测试代码结构和逻辑(可见代码测试):黑盒测试:测试代码功能和性能(不可见代码测试)
白盒测试局限性:1、不可能测试所有代码。2 白盒测试难度比极高。
单体测试是一种白盒测试,测试代码功能模块 – 测试代码单个功能
junit 是java 的单体测试技术
1、编写junit 在工程引用junit 类库
2、编写单体测试用例
* 创建public void 无参数的方法 、在方法前添加@Test 注解
3、每个测试方法 相当于以前编写main 函数,每个测试方法可以单独执行
在使用junit进行测试当方法非常多,每个方法输出内容到控制台,人们无法通过人工进行检查
* 自动化结果检查 — 断言 Assert
断言原理:调用方法,调用方法前,准备测试数据、测试数据运行结果 —— 比较实际结果与预期结果是否相同
- 编写单体测试时,不要仅测试正确的数据和结果,测试不正确数据(非法数据)
代码:
package com.qddx;/* * 编写加减乘数方法 * */public class Calcultor { public int add(int a, int b) { return a + b; } public int sub(int a, int b) { return a - b; } public int mul(int a, int b) { return a * b; } public int div(int a, int b) { if (b == 0) { throw new RuntimeException("除数为零"); } return a / b; }}
测试代码:
package com.qddx;import org.junit.After;import org.junit.AfterClass;import org.junit.Assert;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;//@ignore 可以忽略不想执行的方法。public class CalcultorTest { // 在每个测试方法前执行的代码 @Before public void before() { System.out.println("before..."); } // 在每个测试代码后执行的代码 @After public void after() { System.out.println("after"); } // 在整个测试类实例化之前只想一段代码 @BeforeClass public static void befrClass() { System.out.println("before...."); } // 在整个类对象使用之后 @AfterClass public static void afterClass() { System.out.println("afterclass"); } @Test public void testAdd() { // 方法进行测试 int a = 6; int b = 9; Calcultor c = new Calcultor(); int result = c.add(a, b); System.out.println(result); // 比较实际结果和语气结果的值 Assert.assertEquals(15, result); } @Test public void testSub() { int a = 6; int b = 9; Calcultor c = new Calcultor(); int result = c.sub(a, b); System.out.println(result); // 比较实际结果和预期结果的值 使用断言 Assert.assertEquals(-3, result); } @Test public void testMul() { int a = 6; int b = 9; Calcultor c = new Calcultor(); int result = c.mul(a, b); System.out.println(result); // 比较实际结果和语气结果的值 Assert.assertEquals(54, result); } @Test public void testDiv() { int a = 6; int b = 2; Calcultor c = new Calcultor(); int result = c.div(a, b); System.out.println(result); // 比较实际结果和语气结果的值 Assert.assertEquals(3, result); }}
0 0
- Junit单体测试
- Junit 单体测试
- Junit单体测试
- 单体测试
- 单体测试指导
- 单体测试工具集锦
- PHP单体测试自动化
- 单体测试 观点
- 单体测试指南
- Eclipse 单体测试
- 写单体测试
- 单体测试培训
- NodeJS之单体测试
- Java单体测试之JUnit4
- 单体测试与结合测试区别
- 单体测试与结合测试区别
- 单体测试与结合测试区别
- junit测试
- UISearchBar 支持空搜索
- 用apns_server 进行推送
- [主席树] BZOJ 3673 可持久化并查集 by zky BZOJ 3674 可持久化并查集加强版
- 正则表达式
- 关于在MVC4中增加强类型的View时找不到Model问题的处理记录
- Junit 单体测试
- android studio 引用Lisbs的.so文件
- iOS实现UINavigationBar随ScrollView偏移而渐变的效果
- Java小程序:猜数值小游戏
- 一套Oracle SQL练习题及答案
- "a".equals(null)为false, a= null,a.equals()就不行了
- iOS怎样获取手机的ip地址
- 3、C语言的变量简易理解
- Java学习之反射机制学习总结--1