Mock Server
参考资料
https://blog.51cto.com/u_16213306/11046902
https://debugtalk.com/post/ApiTestEngine-0-setup-CI-test/
以下是文心一言对mock server作用的描述:
Mock server(模拟服务器)在软件开发过程中扮演着至关重要的角色,它主要用于模拟后端服务的行为,以便前端开发者或测试人员能够在没有实际后端服务的情况下进行开发和测试。以下是mock server的几个主要作用:
-
加速开发流程:在开发过程中,后端服务可能尚未准备好或者处于迭代阶段,这时前端开发者需要等待后端服务的完成才能进行测试。通过使用mock server,前端开发者可以模拟出所需的API接口和数据,从而立即开始前端页面的开发和测试,大大加快了开发流程。
-
独立测试:在测试阶段,mock server允许前端和后端进行独立测试。前端测试人员可以专注于前端逻辑和界面的测试,而不需要等待后端服务的稳定或修改。这不仅可以减少测试之间的依赖,还可以提高测试的效率和质量。
-
模拟复杂场景:在实际的生产环境中,后端服务可能会遇到各种复杂的情况,如网络延迟、服务故障、数据异常等。通过mock server,可以模拟这些复杂场景,帮助前端开发者或测试人员测试前端应用在这些情况下的表现,从而提高应用的健壮性和用户体验。
-
文档和示例:对于新的或未文档化的API接口,mock server可以作为一种临时的文档和示例工具。通过模拟API的响应,前端开发者可以了解API的结构和预期的数据格式,从而更容易地集成和使用这些API。
-
集成测试:在集成测试阶段,mock server可以用于模拟部分后端服务,以便在真实的集成环境中测试其他服务的集成效果。这可以帮助测试团队更好地评估系统的整体性能和稳定性。
-
持续集成和持续部署(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
结果如下: