驱动模块和装模块的概念——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 ...
随机推荐
- python 面试题: 列表表达式
[process() for item1 in iterable1 if condition1 for item2 in iterable2 if condition2 For item3 in it ...
- gradle在build之后执行任务
在打包后一般会有copy jar文件的需求. 先在build.gradle文件中定义你的task: task myCopy{ println "some copy code..." ...
- 【bzoj3000】Big Number 数论
题目描述 给你两个整数N和K,要求你输出N!的K进制的位数. 输入 有多组输入数据,每组输入数据各一行,每行两个数——N,K 输出 每行一个数为输出结果. 样例输入 2 5 2 10 10 10 10 ...
- 【bzoj1951】[Sdoi2010]古代猪文 费马小定理+Lucas定理+中国剩余定理
题目描述 求 $g^{\sum\limits_{k|n}C_{n}^{\frac nk}}\mod 999911659$ 输入 有且仅有一行:两个数N.G,用一个空格分开. 输出 有且仅有一行:一个 ...
- 一张图彻底搞懂JavaScript的==运算
一张图彻底搞懂JavaScript的==运算 来源 https://zhuanlan.zhihu.com/p/21650547 PS:最后,把图改了一下,仅供娱乐 : ) 大家知道,==是JavaSc ...
- 算法学习——st表
st表是一种基于倍增思想的DP. 用于求一个数列中的某个区间的最大/最小值. 用st[i][j]表示从第i个开始往后2^j个点,最大的是多少. 我们令k[i]表示2^i等于多少 那么有转移方程 st[ ...
- 【ZJ选讲·调整】
给出n个点,m条有向边(带正权),起点S,终点T.(n<=2000,m<=30000) 再给出一个k,表示可以把最多k条边的权值调整为任意非负整数.(k<=100) 问是否可以通 ...
- [学习笔记]对未来做出承诺的DP小结
这是一种DP状态设计方法. 有些题,当你必须以一个顺序往后填的话,然而后面的填法会对之前产生影响,那么,不妨在之前就对未来怎么填做出承诺. 通俗的讲,就是对未来打一个表. 然后后面填的时候,直接查表转 ...
- git使用笔记(一)入门
By francis_hao Nov 17,2016 本来是想把git的使用笔记写在一个文件里,但是越写越长,最后也不得不分开了.这样也好,每一篇一个侧重,可以写的详细一点. 初学乍练 在l ...
- Hyperledger Fabric架构详解
区块链开源实现HYPERLEDGER FABRIC架构详解 区块链开源实现HYPERLEDGER FABRIC架构详解 2018年5月26日 陶辉 Comments 10 Comments hyper ...