MuleSoft知识总结-20.MUnit测试(Set Event,Verify call)

2023-10-28 01:30

本文主要是介绍MuleSoft知识总结-20.MUnit测试(Set Event,Verify call),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • Set Event
  • Mock when
  • Assert That
  • Verify call
  • 测试覆盖率

前言

在《MuleSoft自学分享-18.MUnit测试正常系(Test,Mock when,Assert that)》和《MuleSoft自学分享-19.MUnit测试异常系》我们对/getEmpInf的GET方法进行了正常系和异常系的测试。本次案例我们将对/getEmpInf的POST方法进行测试。大家可以先考虑一下怎么测试POST流程
在这里插入图片描述

  1. 首先Set Variable写入了员工编号,这是Mule Event的Payload中的信息,我们需要在Test中使用Set Event组件来模拟Mule Event。
  2. Request组件负责对后端发出请求,我们要使用Mock when来模拟后端返回值。
  3. 在Choice组件中负责筛选出满足条件的员工信息,Set Variable必须执行一次将信息写入Variable中,可以使用Verify call来进行计数。
  4. Set Payload负责负责将Variable中的值写入Payload,最终返回给前端。

Set Event

  1. 使用MUnit工具栏下的Set Event,将Set Event放到Execution中,Request之前。
    在这里插入图片描述
  2. 写入Payload信息,选择Media Type值为application/json,选择Encoding值为UTF-8
{"number": "12345678"
}

在这里插入图片描述

Mock when

  1. 使用Mock when模拟后端返回值,绑定employeeapi-sub下,employeeapi-Choice_Flow流中的Request组件。
    在这里插入图片描述
  2. 写入Mock的返回值。
#[[{"eName": "zhangsan","eAge": "20","eSex": "man","cGroup": "afl","cTeam": "mulesoft","id": "12345678","state": "liaoning","email": "san.b.zhang@acc.com","city": "dalian","phone": "12345678901"},{"eName": "lisan","eAge": "20","eSex": "man","cGroup": "afl","cTeam": "se","id": "12345679","state": "liaoning","email": "san.a.li@acc.com","city": "shenyang","phone": "12345678902"},{"eName": "wangwu","eAge": "20","eSex": "woman","cGroup": "sap","cTeam": "sa","id": "12345680","state": "sichuan","email": "wu.a.wang@acc.com","city": "chengdu","phone": "12345678903"}
]]

在这里插入图片描述

Assert That

  1. 设置期望值为
'{\n  "number": "12345678",\n  "name": "zhangsan",\n  "age": "20",\n  "sex": "man",\n  "group": "afl",\n  "team": "mulesoft",\n  "contact": {\n    "Email": "san.b.zhang@acc.com",\n    "phone": "12345678901"\n  },\n  "address": {\n    "state": "liaoning",\n    "city": "dalian"\n  }\n}'

在这里插入图片描述

Verify call

  1. 选择MUnit Tools工具栏下的verify call放到Validation中
    在这里插入图片描述
  2. 绑定组件
    在这里插入图片描述
  3. 设置执行次数
    在这里插入图片描述
  4. 进行测试
    在这里插入图片描述

测试覆盖率

  1. 查看测试覆盖率,点击Generate Report
    在这里插入图片描述
    在这里插入图片描述

这篇关于MuleSoft知识总结-20.MUnit测试(Set Event,Verify call)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL