驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。

桩模块(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单元测试案例的更多相关文章

  1. Junit单元测试案例(测试语言Java)

    # 二.单元测试案例##### 1. 首先我们先创建一个Operation类,在类中我们写几个方法,分别为加.减.乘.除.这些方法都不加边界值与判断.如下图所示:![在这里插入图片描述](https: ...

  2. Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看. ...

  3. Junit单元测试、反射、注解

    Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步 ...

  4. java基础第11期——Stream流、方法引用、junit单元测试

    1.Stream流 Stream流与io流是不同的东西,用于解决集合类库已有的弊端, 1.1 获取Stream流: Collection集合的Stream方法,注意Map集合要经过转化 default ...

  5. Junit单元测试&反射&注解

    内容索引 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关 ...

  6. junit单元测试(keeps the bar green to keeps the code clean)

    error是程序错误,failure是测试错误. junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架( ...

  7. spring && Cobertura && maven &&junit 单元测试以及测试覆盖率

    1. 目的:       junit 单元测试,Cobertura   测试覆盖率报告       项目目录结构          2. maven 配置     <project xmlns= ...

  8. 解决Junit单元测试 找不到类 ----指定Java Build Path

    做junit 单元测试时,发现怎么执行都是以前编译过得代码. 最后找到原因了, src/test/java 编译完的.class路径是 Default output folder Default ou ...

  9. JUnit单元测试框架的使用

    http://blog.csdn.net/mao520741111/article/details/51462215 原文地址 http://www.open-open.com/lib/view/op ...

随机推荐

  1. JavaWeb笔记(十二)日志

    日志 日志信息根据用途与记录内容的不同,分为调试日志.运行日志.异常日志等. Java常用记录日志 logger log4j log4j2 logback 其中除了logger使用的概率较小,因此主要 ...

  2. [译]在SQL查询中如何映射(替换)查询的结果?

    问题来源: https://stackoverflow.com/questions/38567366/mapping-values-in-sql-select 有一个表格,就称它Plant,它有三列: ...

  3. oracle dg 备库不同步主库数据

    今天遇到一个数据库同步问题,主库被关闭,重启主库后,备库不能正常同步主库数据.只有当手动切换归档日志的时候,备库才能和主库一致. 这个问题的解决方法: 重启备库,重新应用归档日志. 操作步骤如下: / ...

  4. lintcode-74-第一个错误的代码版本

    74-第一个错误的代码版本 代码库的版本号是从 1 到 n 的整数.某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错.请找出第一个错误的版本号. 你可以通过 isBad ...

  5. Win10系统开启IIS服务步骤

    原文链接:http://www.111cn.net/sys/361/93003.htm

  6. JVM(1)——简介

    网上流传着一段挺有意思的话-- 对于从事C或C++的开发人员来说,他们既是内存管理的最高权力的皇帝,也是最基础的劳动人民,担负着每一个对象生命开始到终结的维护工作,有点光杆司令的赶脚. 但对于java ...

  7. qemu的配置

    qemu的配置: buildroot的配置不需要多做配置,对了,设置下生成的文件系统是rootfs.ext2 内核打开virtio qemu脚本会在后面 疑问: 1)为什么qemu启动起来之后,没有e ...

  8. Linux笔记二

    用户和组 添加一个tom用户,设置它属于users组,并添加注释信息分步完成:useradd tom usermod -g users tom usermod -c "hr tom" ...

  9. adoop集群动态添加和删除节点

    hadoop集群动态添加和删除节点说明 上篇博客我已经安装了Hadoop集群(hadoop集群的安装步骤和配置),现在写这个博客我将在之前的基础上进行节点的添加的删除. 首先将启动四台机器(一主三从) ...

  10. Sublime Text 2.0.2 注册码激活

    直接输入注册码就可以了 ----- BEGIN LICENSE ----- Andrew Weber Single User License EA7E-855605 813A03DD 5E4AD9E6 ...