驱动模块和装模块的概念——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 ...
随机推荐
- SSH 项目中 使用websocket 实现网页聊天功能
参考文章 :java使用websocket,并且获取HttpSession,源码分析 http://www.cnblogs.com/zhuxiaojie/p/6238826.html 1.在项 ...
- CE-HTML简介
1.典型的CE-HTML代码如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html ...
- perf 对两个map是否重叠的判断,以及函数map_groups__fixup_overlappings代码逻辑
该标题可以抽象出来的问题是:两个前开后闭的区间 rangeA 和 rangeB,如何判断这两个区间是否重叠.这个问题在内核中非常重要,虚拟地址空间的划分需要它,perf中map_group的构建也需要 ...
- java高精度类尝试
java高精度尝试, poj2109,比较坑的题目 import java.io.*; import java.util.*; import java.math.*; public class Mai ...
- WebServer参数长度超出解决
当内容超过了4M会报错 System.Web.Services.Protocols.SoapException: 运行配置文件中指定的扩展时出现异常. ---> System.Web.HttpE ...
- 【题解】JSOI2009游戏
真的没想到...果然反应太迟钝,看到题目毫无思路,一点联想都没有. 按照网上博客的说法:一眼棋盘染色二分->二分图->最大匹配->BINGO?果然我还是太弱了…… 我们将棋盘黑白染色 ...
- chrome 不支持12px以下字体为题的解决
现英文9px 设置 在chrome 下无效,可以通过 -webkit-transform: scale(0.75); 12*0.75 =9 得到小字体(在chrome浏览器下 大小缩放到0.75倍) ...
- 安卓和html的互相调用
1.写html和安卓布局 <Button android:id="@+id/btn" android:layout_width="wrap_content" ...
- D. Relatively Prime Graph
Let's call an undirected graph G=(V,E)G=(V,E) relatively prime if and only if for each edge (v,u)∈E( ...
- Spring学习--实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean
Spring 中有两种类型的 bean , 一种是普通的 bean , 另一种是工厂 bean , 即 FactroyBean. 工厂 bean 跟普通 bean 不同 , 其返回的对象不是指定类的一 ...