利用创建JMock模拟session,packet等必要的类。并构建模拟类虚拟的返回值。执行HANDLER方法,截取方法参数来检测程序正确性...

本文主要是介绍利用创建JMock模拟session,packet等必要的类。并构建模拟类虚拟的返回值。执行HANDLER方法,截取方法参数来检测程序正确性...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需要的几个包. 只是编译时的lib,方在文件夹compile-lib中:
两个简单的例子:


1、测试DAO方法:
思路:创建一个测试数据(不会重复创建),在测试环境中跑DAO方法,然后断言结果。

MailDAOTestCase.java:


INIT_MAIL = “xxx”; 是初始库表测试数据的SQL。

在执行每一个Test时总会先执行@before方法,执行完毕后测试方法后再执行@After方法

该方法测试mailDAO查询收邮件总量

Assert断言其值总是大于0的。

2、 测试Handler方法
思路: 利用创建JMock模拟session,packet等必要的类。并构建模拟类虚拟的返回值。执行HANDLER方法,截取方法参数来检测程序正确性。(现在做的是截取session.send()方法的Packet参数,测试协议格式)
MailHandlerTestCase.java:


context是JMock的对象,主要由它负责创建虚拟对象。

a、模拟一个packet对象


模拟返回值:
设置一个Expectations

执行一次(packet)的getInt()方法;将(放回(-1))//serial
b、测试参数

执行一次(session).send(packet);方法时,将适配以下规则



该方法抛出异常时返回:“("PacketMatcher : 协议返回格式错误"); ”测试失败提醒。



总结:
使用junit+jmock可以方便的使用以下特性:
1、 测试方法执行结果返回值;
2、 模拟目标方法所需参数;
3、 检测目标方法内部生成对象的合法性(pt = new Packet();.session.send(pt););

这篇关于利用创建JMock模拟session,packet等必要的类。并构建模拟类虚拟的返回值。执行HANDLER方法,截取方法参数来检测程序正确性...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/655033

相关文章

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

java导出pdf文件的详细实现方法

《java导出pdf文件的详细实现方法》:本文主要介绍java导出pdf文件的详细实现方法,包括制作模板、获取中文字体文件、实现后端服务以及前端发起请求并生成下载链接,需要的朋友可以参考下... 目录使用注意点包含内容1、制作pdf模板2、获取pdf导出中文需要的文件3、实现4、前端发起请求并生成下载链接使

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Java捕获ThreadPoolExecutor内部线程异常的四种方法

《Java捕获ThreadPoolExecutor内部线程异常的四种方法》这篇文章主要为大家详细介绍了Java捕获ThreadPoolExecutor内部线程异常的四种方法,文中的示例代码讲解详细,感... 目录方案 1方案 2方案 3方案 4结论方案 1使用 execute + try-catch 记录

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin