单元测试方法总结

2023-10-30

1        引言

应用系统的实施代码构建完成之后,并不代表项目已经结束。至少还有系统测试,部署以及性能调优等工作需要完成。测试的目的是检验开发结果是否满足规定需求,测试时保证软件质量的重要手段,是软件开发不可缺少的组成部分。

虽然测试是一件乏味的工作,但是对自己开发的程序代码进行单元测试是程序员必要的工作,不但可以写出高质量的代码,还可以提高自己的编程水平。本文档主要介绍我们常用的几种单元测试的方法,供大家参考,学习,分享,给大家的工作带来较高的效率。

2        几种常见的单元测试方法

 

单元测试时针对程序模块,来进行正确性检验的测试工作。程序的单元是应用的最小可测试部件。一个单元就是单个程序,最小单元就是面向对象编程中的一个方法

2.1    编写main方法

在被测试类中编写一个main方法是传统而简单的方法,但缺点不少。首先,增加了源代码的长度;其次,有可能破坏源代码的可读性,特别是对于那些拥有多个对外接口的类,要求其在一个main方法中完成所有测试案例,测试繁杂。若是把这些案例分解成一个一个私有测试方法的话,将降低代码的可读性。最后,可能使功能类引入对于的依赖类,例如,测试引用了类所有接口的实现类。

 

main方法根本性缺点在于测试结果的直观阅读性问题,main方法测试必须执行后,通过对控制台的输出信息进行观察才能判断结果是成功还是失败。这显然是不方便,浪费时间的。

2.2    使用JUnit进行单元测试

Junit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。它是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。

2.2.1   使用junit的好处

l  可以使测试代码与产品代码分开。

l  针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试。

l  易于集成到测试人员的构建过程中,JUnit和Ant的结合可以实施增量开发。

l  JUnit是公开源代码的,可以进行二次开发。

l  可以方便地对JUnit进行扩展。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单元测试方法总结 的相关文章

随机推荐

  • 基于反事实因果推断的度小满额度模型

    本文约4400字 建议阅读9分钟 本文从三个角度与你分享基于反事实因果推断的度小满额度模型 1 因果推断的研究范式 1 相关性与因果性 2 三大基本假设 2 因果推断的框架演进 1 从随机数据到观测数据 2 反事实表示学习 3 反事实额度模
  • 四川百幕晟科技有限公司:抖音没有视频怎么开店铺?

    抖音是中国最受欢迎的短视频平台之一 吸引了数亿用户 很多电商卖家希望利用抖音平台开展业务 但他们可能没有视频资源 幸运的是 抖音还提供了非视频商店功能 允许卖家开设自己的商店并在抖音上推广产品 本文将详细介绍在抖音上开店的步骤 并探讨如何在
  • 破解windows明文密码

    之前看了法国人写的一个软件 mimikatz 可以直接获取windows下的明文密码 简直是丧心病狂 作者已经开源 大家可以去谷歌一下 用SVN下载了源码 是vs2010的工程 然后按照下面命令开始看代码 privilege debug i
  • SQLAlchemy映射已有数据表

    方法一 手动创建数据表模型类进行映射 映射的表必须要有主键 配置数据库连接参数 class Config SQLALCHEMY DATABASE URI mysql pymysql root 123456 localhost 3306 te
  • mysql5.7 免安装版的配置过程

    1 去官网下载mysql 5 7 2 解压压缩包 首先给压缩包重命名一下 修改为你自己想要的 将解压目录下默认文件 my default ini 拷贝一份 改名 my ini 3 修改一下my ini 文件里的内容 client port
  • 基于卷积神经网络结合注意力机制长短记忆网络CNN-LSTM-Attention实现风电功率多输入单输出回归预测附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号
  • Kafka安装及测试

    系统环境 Linux Ubuntu 16 04 jdk 7u75 linux x64 相关知识 Kafka是由LinkedIn开发的一个分布式的消息系统 使用Scala编写 它因可以水平扩展和高吞吐率而被广泛使用 目前越来越多的开源分布式处
  • WPF编程,通过Path类型制作沿路径运动的动画另一种方法。

    上一篇文章给了一个这方面的例子 那个文章里是通过后台按钮事件进行动画的开始 停止 继续等 这里给出的是通过前台XAML来实现 1 前台 定义路径 定义运动的主体 这里是一圆
  • IEEE 754 round-to-nearest-even

    IEEE 754 二进制的向偶舍入 舍入的值保证最靠近原浮点数值 如果舍入为中间值 即舍还是入距离相等 那么按其最末尾一位是奇数 则入 如果为偶数 则舍 下面例子说明 xxx yyyyy10000 x为实数任意值 y为任意值 最末尾y为需要
  • 用C++实现简单的小游戏

    采用面向对象的编程思想 在头文件中引入acllic图形库 实现c 控制图片以及生成可视化窗口 所需工具 acllib图形库下载地址 acl图形库下载地址 win32位项目的创建 通过visual studio创建win32项目 三张图片 t
  • python 数据分析--数据处理工具Pandas(2)

    数据处理模块 Pandas 4 Pandas处理字符串和日期数据 5 Pandas 数据清洗 5 1 重复观测处理 5 2 缺失值处理 5 2 1 删除法 5 2 2 替换法 5 3 异常值处理 6 获取数据子集 7 透视表 合并与连接 分
  • Transformer中的position encoding(位置编码一)

    本文主要讲解Transformer 中的 position encoding 在当今CV的目标检测最前沿 都离不开position encoding 在DETR VIT MAE框架中应用广泛 下面谈谈我的理解 一般position enco
  • Activity 的启动分析 ( 9.0 )

    Activity 的启动系统已经做了很多的封装 使得我们在开发的时候不用去关注底层的东西 需要一句代码就可以搞定拉起一个Activity Intent intent new Intent this TestActivity class st
  • Excel如何制作动态模糊匹配的下拉菜单?

    之前给大家分享了如何使用函数制作模糊匹配的下拉菜单 但函数那家伙的特点是小巧灵 数据量稍大 效率就比较差了 众所周知 在Excel里 高效率解决复杂问题 还是得靠又傻又愣的VBA 今天就再给大家分享一下 如何使用VBA制作更好用的动态模糊匹
  • python的label显示图片,如何在标签中显示图片和文本(PyQt)

    我需要在标签中显示图片和文本 这是我的代码 import sys from PyQt5 QtCore import from PyQt5 QtGui import from PyQt5 QtWidgets import class MyLa
  • 机械臂编程_建立自己的机械臂-编程

    机械臂编程 现在 手臂已经组装好了 是时候将其提升到一个新的水平 现在是释放野兽并完全控制整个机器人手臂的时候了 在这篇文章的结尾 您应该对如何对该机械臂进行编程以完成您想要的事情有一个想法 要了解我如何到达这里 请访问我以前的文章 该文章
  • Kubernetes 工作负载控制器Deployment和Replicaset

    Deployment 介绍 管理Pod和ReplicaSet 具有上线部署 副本设定 滚动升级 回滚等功能 提供声明式更新 例如只更新一个新的Image 应用场景 网站 API 微服务 Deployment 使用流程 项目生命周期 Depl
  • SpringCache入门

    1 简单介绍 Spring Cache 是 Spring 提供的一整套的缓存解决方案 虽然它本身并没有提供缓存的实现 但是它提供了一整套的接口和代码规范 配置 注解等 这样它就可以整合各种缓存方案了 比如 Redis Ehcache 我们也
  • java 对象获取堆_【性能优化】面试官:Java中的对象和数组都是在堆上分配的吗?...

    写在前面 从开始学习Java的时候 我们就接触了这样一种观点 Java中的对象是在堆上创建的 对象的引用是放在栈里的 那这个观点就真的是正确的吗 如果是正确的 那么 面试官为啥会问 Java中的对象就一定是在堆上分配的吗 这个问题呢 看来
  • 单元测试方法总结

    1 引言 应用系统的实施代码构建完成之后 并不代表项目已经结束 至少还有系统测试 部署以及性能调优等工作需要完成 测试的目的是检验开发结果是否满足规定需求 测试时保证软件质量的重要手段 是软件开发不可缺少的组成部分 虽然测试是一件乏味的工作