//打桩对现有的测试桩进行少量的覆盖
比如打桩测试时,第一次测试时,只需要对部分方法进行打桩,第二次测试时,只需要对另外一部分方法进行打桩,
或者对第一次打桩的方法进行二次打桩,下面给出一个简单的例子来说明这个问题,此例子中实现对象有两个方法,测试时,
第一次测试,需要对两个方法都打桩,第二次测试时,只需要对第二个方法打桩,第一个方法要求为原实现,
而且第二个方法的打桩实现和第一次不同,如下:
功能类:
package com.test;
class MyGroovy {
public void test1(){println 'my test1'
}
public void test2(){println 'my test2'
}
}
测试代码:
package com.test;
class ABC {
static main(args) {
// 创建一个MAP,对两个方法都打桩,分别输出test1和test2
def x = [test1:{println 'test1'}, test2:{println 'test2'}]
// 使用此MAP构造桩对象
def xinst = x as MyGroovy
// Result: test1
xinst.test1()
// Result: test2
xinst.test2()
// 覆盖方法test2,对它进行再次打桩,使它输出x test2
x['test2'] = {println 'x test2'}
// 去除对方法test1的打桩,使它保持原有实现
x.remove 'test1'
// 还使用原MAP构造一个新的桩对象
def xx = x as MyGroovy
// Result: my test1
xx.test1()
// Result: x test2
xx.test2()
}
}
最终输出结果:
test1
test2
my test1
x test2
总结:看看使用groovy打桩的实现原理就可以明确,它构造的其实就是一个普通的MAP,其KEY为方法名,VALUE为方法实现(闭包),
在需要使用的时候,直接使用as关键字,将之转换为具体的类型进行使用,所以在使用过程中,如果想要做到可重用,只需要不停的操作此MAP,
就可以完全控制mock对象的行为,因为你找到的问题的根本
分享到:
相关推荐
Java编写的Socket服务器测试桩是用于模拟实际网络服务或接口的一种工具,它可以帮助开发者在实际服务器未准备就绪或者不便使用时进行应用的功能验证和性能测试。本文将深入讲解Java Socket服务器测试桩的核心概念、...
【标题】:“SMGP测试桩(测试专用)” 在IT领域,测试桩(Test Stub)是一种软件组件,它模拟了系统中的某个部分,通常是为了在孤立环境下测试其他组件。在这个场景中,"SMGP测试桩"是专为SMGP协议设计的测试工具...
标题中的"jetty测试桩"指的是使用Jetty服务器作为测试环境中的模拟服务,它能够帮助开发者在实际接口未开发或不可用时进行测试。Jetty是一个轻量级、高性能的开源HTTP服务器和Servlet容器,常用于快速搭建测试环境...
测试桩HTTP测试桩HTTP 测试桩HTTP 测试桩HTTP
go语言测试桩,用于模拟接口测试,也可做性能测试桩,哈哈
阴极保护测试桩是管道阴极保护系统的重要组成部分,用于监测和评估埋地管道的防腐效果。测试桩根据材质可分为钢制、水泥、塑钢和碳钢等多种类型,适应不同的环境需求。它们主要功能包括电位测试、电流测试、牺牲阳极...
Stub测试桩函数库是软件测试领域中一个重要的工具,它在单元测试中扮演着关键角色。测试桩(Stub)是用来模拟被测代码依赖的外部组件或服务的行为,以控制测试环境并提供预定义的响应。这样,我们可以在孤立的环境中...
智能测试桩的结构说明以及安装和维护的注意事项.doc
本话题聚焦于如何利用驱动程序(Driver Program)和桩程序(Stub Program)来有效地进行单元测试,特别是在Java环境下。 驱动程序和桩程序是单元测试中的两个关键概念: 1. **驱动程序(Driver Program)**:驱动...
在电力系统中,变电站接地装置的阴极保护测试桩是一项重要的安全措施,它涉及到电气工程、防腐蚀技术和电化学等多个领域。本文将详细解析这一主题,并基于提供的文档信息进行深入探讨。 首先,我们来理解“变电站...
文件“行业分类-电子政务-多功能阴极电位测试桩.pdf”很可能是对这种技术在电子政务环境下的详细介绍。其中可能包含以下几个方面的内容: 1. **阴极保护原理**:解释了阴极保护如何通过向金属结构提供负电荷来阻止...
2. **名词定义**:对测试桩相关的专业术语进行明确,便于理解和执行标准。 3. **项目总体要求**:规定了项目实施的整体规划和要求,包括设计原则、施工标准和质量控制等方面。 **第二部分 通用技术要求** 1. **...
5. **数据驱动测试**:能够使用外部数据源(如CSV或Excel文件)进行数据驱动测试,提高测试覆盖率。 6. **丰富的报告**:测试结果可生成详细的HTML报告,便于分析和分享测试结果。 7. **安全测试**:SOAPUI包含WS-...
在“电子政务-具有信息传输功能的多功能阴极电位测试桩.zip”这个压缩包中,我们可以看到一个关于电子政务在特定领域的应用——多功能阴极电位测试桩的详细介绍。 阴极保护是防止金属结构腐蚀的一种重要方法,特别...
由于管道测试桩多处于偏僻野外,信号覆盖不全,故采用GPRS方式进行数据传输。单片机将处理后的数据通过串口发送到GPRS模块,再由模块通过AT指令控制实现与远程监控中心服务器的数据通信。 7. 后台机及监控软件设计...
阴极保护测试桩安装及测量方法技术.doc
充电桩测试是电动汽车充电基础设施的重要组成部分,它涉及到电力系统、通信技术以及电池管理系统(BMS)的交互。在本文中,我们将深入探讨充电桩与BMS之间的通信报文解析,以及如何利用Delphi这样的编程语言进行软件...
该项目是一款基于Python Flask框架和SQLite数据库的API接口测试桩设计源码,包含2627个文件,涵盖1109个Python字节码文件、1107个Python源代码文件、83个Python字节码输出文件、65个文本文件,以及其他类型文件。...
本项目通过模拟BMS,对充电桩进行测试,确保其符合国家规定的通信协议——《GB-T 27930-2015 电动汽车非车载传导式充电机与电池管理系统之间的通信协议》。 首先,BMS的主要功能包括: 1. **电池状态监测**:实时...