首页 > 其他分享 >Mock Server

Mock Server

时间:2024-07-11 10:30:18浏览次数:9  
标签:__ server api Mock 测试 Server 前端开发 mock

参考资料

https://blog.51cto.com/u_16213306/11046902

https://debugtalk.com/post/ApiTestEngine-0-setup-CI-test/

以下是文心一言对mock server作用的描述:

Mock server(模拟服务器)在软件开发过程中扮演着至关重要的角色,它主要用于模拟后端服务的行为,以便前端开发者或测试人员能够在没有实际后端服务的情况下进行开发和测试。以下是mock server的几个主要作用:

  1. 加速开发流程:在开发过程中,后端服务可能尚未准备好或者处于迭代阶段,这时前端开发者需要等待后端服务的完成才能进行测试。通过使用mock server,前端开发者可以模拟出所需的API接口和数据,从而立即开始前端页面的开发和测试,大大加快了开发流程。

  2. 独立测试:在测试阶段,mock server允许前端和后端进行独立测试。前端测试人员可以专注于前端逻辑和界面的测试,而不需要等待后端服务的稳定或修改。这不仅可以减少测试之间的依赖,还可以提高测试的效率和质量。

  3. 模拟复杂场景:在实际的生产环境中,后端服务可能会遇到各种复杂的情况,如网络延迟、服务故障、数据异常等。通过mock server,可以模拟这些复杂场景,帮助前端开发者或测试人员测试前端应用在这些情况下的表现,从而提高应用的健壮性和用户体验。

  4. 文档和示例:对于新的或未文档化的API接口,mock server可以作为一种临时的文档和示例工具。通过模拟API的响应,前端开发者可以了解API的结构和预期的数据格式,从而更容易地集成和使用这些API。

  5. 集成测试:在集成测试阶段,mock server可以用于模拟部分后端服务,以便在真实的集成环境中测试其他服务的集成效果。这可以帮助测试团队更好地评估系统的整体性能和稳定性。

  6. 持续集成和持续部署(CI/CD):在CI/CD流程中,mock server可以确保测试环境的稳定性和一致性。通过模拟后端服务,可以确保前端应用在自动化测试中的表现符合预期,从而加快代码的部署和发布速度。

总之,mock server是软件开发和测试过程中不可或缺的工具之一。它不仅可以加速开发流程和提高测试效率,还可以帮助开发者和测试人员更好地理解后端服务的行为和期望的输出。通过使用mock server,可以更加高效、可靠地完成软件开发和测试工作。

但是目前没有用过 ,所以对上述作用体会不深,目前理解是可以起到测试左移的作用,代替部分未完成的api,结合起来测试已经完成的api的响应。理解比较简单,需要经过真正的project的检验。

Python的mock server搭建比较简单:

1. 安装flask package

 pip install Flask

2. 编写mock api

此处抄的参考博客里的示例

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/user',methods = ['GET'])
def mock_user():
    return jsonify({'id':1,'name':'Jane','age':18})

if __name__ == '__main__':
    app.run(port=5000)

3.运行此mock server

python c:\Code\AutoFrameworkLearning\mock_server.py

4.编写测试api调用mock server

import requests

response=requests.get('http://127.0.0.1:5000/api/user')
print (response.json())

5.在mock server运行的同时,运行测试api

python c:\Code\AutoFrameworkLearning\test_user.py

结果如下:

 

标签:__,server,api,Mock,测试,Server,前端开发,mock
From: https://www.cnblogs.com/woniuguoguo/p/18295523

相关文章

  • VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS xFusion (超聚变) FusionServer 定制版
    VMwareESXi8.0U3macOSUnlocker&OEMBIOSxFusion(超聚变)FusionServer定制版ESXi8.0U3标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Hitachi(日立)、Fujitsu(富士通)、NEC(日电)、Huawei(华为)、xFusion(超聚变)OEM定制版请......
  • 查看SQLServer最耗资源时间的SQL语句(转载)
    sqlserver中,如果想知道有哪些语句是执行效率不高的,应该如何查看呢?下面就将为您介绍sqlserver中如何查看执行效率不高的语句,供您参考。 1.找出执行时间最长的10条SQL(适用于SQLSERVER2005及其以上版本)Sql代码SELECTtop10(total_elapsed_time/execution_count)......
  • usbserver工程师手记(三)手工开通 OTP功能
    1、设定密钥,用户自行选择一个密钥,以下以密钥为EAZAYOKNGETBOPC5为例说明2、usbserver配置otp密钥,目前还没有UI界面开通,后续版本会支持从管理界面开通curl-XPOST-H'Content-Type:application/json'-H'Accept:application/json'-i'http://localhost/api7001/set_op......
  • 【VMware vCenter】VMware vCenter Server(VCSA) 5.5 版本证书过期问题处理过程。
    之前帮客户处理了一个因证书过期导致vCenterServer无法登录的问题,在此记录一下,因为时间过去有点久了,可能会有些地方描述的不是很清楚,所以就当作参考就行。客户环境是一个非常老的vCenterServer5.5版本并基于Linux版本的VCSA(当时这个版本还有基于Windows的,注意区别),早......
  • SQL Server Compact的简单使用
    今天遇到公司之前一个项目,使用的是SQLServerCompact(SQLCE)数据库,记录一下创建SDF数据库:1.VisualStudio2022安装扩展,SQLiteandSQLServerCompactToolbox2.工具-->SQLite/SQLServerCompactToolbox2.添加一个连接 3.选择路径或者创建一个新的数据库4.已经......
  • ThinkServer服务器维修数据恢复
    一、初步评估与故障诊断收集信息:了解ThinkServer服务器的型号、配置、操作系统、RAID配置(如RAID0、RAID1、RAID5等)以及数据丢失的具体情况。查阅服务器的日志文件、系统状态指示灯、硬件自检报告等,初步判断数据丢失的可能原因。确定恢复策略:根据故障诊断结果,制定合适的恢......
  • geoserver更改密码失败 | 重置密码方案
    geoserver更改密码失败,推测是装了geoserver-authkey-plugin.zip插件的原因登录geoserver把默认用户组的密码方案改成明文打开users.xml文件,password输入plain:yourpassword3.再登录geoserver把默认用户组的密码方案改成摘要打开users.xml文件,就可以看到之前输入的明......
  • geoserver忘记密码的解决过程
    geoserver文档https://www.osgeo.cn/geoserver-user-manual/security/passwd.html在geoserver数据目录,找到/data/GeoserverData/security/usergroup/default/users.xml文件将<userenabled="true"name="admin"password="***">中的password改成了p......
  • Windows Server Update Services (WSUS) 是一种由微软提供的服务器软件,允许 IT 管理员
    关于WindowsServerUpdateServices(WSUS)的漏洞,以下是一些已知的漏洞和安全问题:CVE-2021-34484:这是一个严重的远程代码执行漏洞,影响了WSUS服务器。攻击者可以通过构造特定请求利用此漏洞来执行恶意代码。CVE-2020-1317:此漏洞允许攻击者在未经身份验证的情况下获......
  • SQL Server查看所有表大小,所占空间
    createtable#Data(namevarchar(100),rowvarchar(100),reservedvarchar(100),datavarchar(100),index_sizevarchar(100),unusedvarchar(100))declare@namevarchar(100)declarecurcursorforselectnamefromsysobjectswherextype='u'or......