驱动模块和装模块的概念——Junit单元测试案例
驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。
桩模块(Stub)是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。
虽然各个模块开发好了,在做单元测试时,也是需要写驱动模块与桩模块的。因为做单元测试一个最重要的原则就是把被测试的单元与其他关联模块隔离开来进行测试。
测试代码:
Public class DemoTest {
public int demofunc() {
int n1 = 4, n2 = 5;
int a;
a = sumFunc(n1, n2);
System.out.println(a);
retrun a;
} //模块A
Public int sumFunc(int a, int b) {
int c1, c2;
c1 = factorial(a);
c2 = factorial(b);
return (c1 + c2);
}//模块B
Public int factorial(int n) {
Int rtn = 1;
Int i;
for (i = 1; i<= n; i++) {
rtn *= i;
}
return (rtn);
}//模块C
}
1、请分别对模块A,B,C进行单元测试。
2、新建class,同时在该项目中的properties 中java build path ,add library-junit 。然后新建junit文件。

3、格式如下:
对模块A进行单元测试时:
01.是否需要驱动模块(是/否)?是
02. 如果需要,你编写的驱动模块(拷贝或截图):
@Test
public void testDemofunc() { body.demofunc(); assertEquals(144, body.demofunc());
}
如果需要,你编写的桩模块(拷贝或截图):
public int sumFunc(int a, int b) {
return (144);
}//模块B
03. 运行结果分别(截图):


04. 模块A是否被正确编码(是/否):是
对模块B进行单元测试时:
01. 是否需要驱动模块(是/否)?是
02.如果需要,你编写的驱动模块(拷贝或截图):
@Test
public void testSumFunc() {
assertEquals(144, body.sumFunc(4,5));
}
如果需要,你编写的桩模块(拷贝或截图):
public int factorial(int n) {
if(n==4)
return (24);
else
return(120);
}//模块C
03. 运行结果分别(截图):


04. 模块B是否正确被编码(是/否):是
对模块C进行单元测试时:
01. 是否需要驱动模块(是/否)?是
02. 如果需要,你编写的驱动模块(拷贝或截图):
@Test
public void testFactorial() {
body.factorial(4);
body.factorial(5);
assertEquals(24, body.factorial(4));
assertEquals(120, body.factorial(5));
}
运行结果分别(截图):
03. 模块C是否正确被编码(是/否):是


驱动模块和装模块的概念——Junit单元测试案例的更多相关文章
- Junit单元测试案例(测试语言Java)
# 二.单元测试案例##### 1. 首先我们先创建一个Operation类,在类中我们写几个方法,分别为加.减.乘.除.这些方法都不加边界值与判断.如下图所示:
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看. ...
- Junit单元测试、反射、注解
Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步 ...
- java基础第11期——Stream流、方法引用、junit单元测试
1.Stream流 Stream流与io流是不同的东西,用于解决集合类库已有的弊端, 1.1 获取Stream流: Collection集合的Stream方法,注意Map集合要经过转化 default ...
- Junit单元测试&反射&注解
内容索引 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关 ...
- junit单元测试(keeps the bar green to keeps the code clean)
error是程序错误,failure是测试错误. junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架( ...
- spring && Cobertura && maven &&junit 单元测试以及测试覆盖率
1. 目的: junit 单元测试,Cobertura 测试覆盖率报告 项目目录结构 2. maven 配置 <project xmlns= ...
- 解决Junit单元测试 找不到类 ----指定Java Build Path
做junit 单元测试时,发现怎么执行都是以前编译过得代码. 最后找到原因了, src/test/java 编译完的.class路径是 Default output folder Default ou ...
- JUnit单元测试框架的使用
http://blog.csdn.net/mao520741111/article/details/51462215 原文地址 http://www.open-open.com/lib/view/op ...
随机推荐
- HDU 2175 汉诺塔IX
http://acm.hdu.edu.cn/showproblem.php?pid=2175 Problem Description 1,2,...,n表示n个盘子.数字大盘子就大.n个盘子放在第1根 ...
- laydate日期控件
<!-- laydate 日期时间控件 下载地址 http://www.layui.com/laydate/ 这里用到版本为 layDate-v5.0.2 下载后将 laydate 文件夹放到项 ...
- 【SSH】——Hibernate三种状态之间的转化
Hibernate的三种状态为:transient.persistent和detached.对这三种状态的理解可以结合Session缓存,在Session缓存中的状态为persistent,另外两种不 ...
- elasticsearch this is not a http port
访问的是elastic search的tcp端口,需换成http端口. elastic search默认tcp端口9300,http端口9200 如果浏览器中访问http://localhost:92 ...
- Flink History Job
history job的写入1. org.apache.flink.runtime.jobmanager,Object JobManagerrunJobManager中指定使用MemoryArchiv ...
- 【BZOJ 4605】崂山白花蛇草水 替罪羊树套线段树
外层是借鉴了kd-tree的替罪羊里层是线段树,插入就是正常插入+拍扁重建,查询的时候,我们就像树状数组套线段树一样操作在替罪羊中找到的线段树根节点,但是对于在kd-tree查找过程中遇到的单点,我们 ...
- OpenJudge百炼-2747-数字方格-C语言-枚举
描述:如上图,有3个方格,每个方格里面都有一个整数a1,a2,a3.已知0 <= a1, a2, a3 <= n,而且a1 + a2是2的倍数,a2 + a3是3的倍数, a1 + a2 ...
- The xor-longest Path [Trie]
The xo-longest Path 题目描述 给定一棵\(n≤100 000\)个点的带权树,求树上最长的异或和路径. 输入 多组数据.每组数据第一行一个整数n(\(1≤n≤100 00\),接下 ...
- Qt 设置应用程序图标(windows)
Step 1: 创建 xxx.rc 文件. 将ico图标文件复制到项目根目录下.然后在该目录中新建xxx.rc文件,并输入一行代码: IDI_ICON1 ICON DISCARDABLE " ...
- centos yum 安装 mysql
centos7下使用yum安装mysql 时间:2015-03-07 21:26:20 阅读:87445 评论:0 收藏:1 [点我收藏+] 标签: Cen ...