当前位置: 首页 > news >正文

有什么好的做家常菜的网站外包的利与弊

有什么好的做家常菜的网站,外包的利与弊,电商运营怎么做的,网站建设完提示文件取消分享其实代码没有问题#xff0c;但是我们忽略了一个问题#xff0c;就是在正常的开发中#xff0c;肯定是遇到过这样的情况#xff0c;我们频繁的有客户端链接#xff0c;断开连接#xff0c;需要统一的管理这些链接#xff0c;那么应该如何管理呢。其实可以声明一个类去管…其实代码没有问题但是我们忽略了一个问题就是在正常的开发中肯定是遇到过这样的情况我们频繁的有客户端链接断开连接需要统一的管理这些链接那么应该如何管理呢。其实可以声明一个类去管理这些链接。接下来我们看下该如何优化。 一、优化测试接口方法 1.定义链接管理类处理所有链接 websocket 链接管理 from typing import List, Dictfrom starlette.websockets import WebSocketclass ConnectionManager:def __init__(self):存放链接self.active_connections: List[Dict[str, WebSocket]] []async def connect(self, user: str, ws: WebSocket):链接self.active_connections.append({user: user, ws: ws})async def disconnect(self, user: str, ws: WebSocket):断开链接移除self.active_connections.remove({user: user, ws: ws}) 2.修改应用代码 我们增加了链接移除链接的操作那么对应修改下代码 from connection_tool import ConnectionManager from starlette.websockets import WebSocketDisconnect ws_manager ConnectionManager()app.websocket(/items/ws) async def websocket_endpoint(websocket: WebSocket,cookie_or_token: str Depends(get_cookie_or_token), ):await websocket.accept()await ws_manager.connect(cookie_or_token, websocket)try:while True:data await websocket.receive_text()await websocket.send_text(fMessage is: {data})except WebSocketDisconnect as e:await ws_manager.disconnect(cookie_or_token, websocket)3.测试  这样我们在链接处理的时候就可以正常处理了。之前报错是因为我们没有正常的关闭链接导致的那么我们再测试一下 测试websockets from fastapi.testclient import TestClient from main import appdef test_websocket():client TestClient(app)with client.websocket_connect(/items/ws?tokenfake-token) as websocket:websocket.send_text(Hello, this is testing websocket)data websocket.receive_text()print(data)assert str(data) fMessage is: Hello, this is testing websocketif __name__ __main__:test_websocket() 此时发现代码不会再报错  二、增加测试用例并优化 1.增加用例代码 import unittestfrom fastapi.testclient import TestClientfrom main import appclass FastApiTestWeb(unittest.TestCase):def setUp(self) - None:self.client TestClient(app)def tearDown(self) - None:self.client Nonedef test_websocket(self):with self.client.websocket_connect(/items/ws?tokenfake-token) as websocket:websocket.send_text(Hello, this is using test case to test websocket)data websocket.receive_text()print(data)assert str(data) Message is: Hello, this is using test case to test websocketdef test_websocket_again(self):with self.client.websocket_connect(/items/ws?tokenfake-token) as websocket:websocket.send_text(Hello, this is using test case to test websocket again)data websocket.receive_text()print(data)assert str(data) Message is: Hello, this is using test case to test websocket againif __name__ __main__:unittest.main()2.执行用例 这样我们的一个测试用例就更加的完整了。我们执行正常是没有报错的 3. 查看代码的覆盖率  pip install coverage 我们想要看下代码的覆盖率应该如何看呢。我是用的coverage。 然后再report 我们想看html测试报告可以运行下 coverage html。 然后打开index.html 因为我的main.py还有其他的方法我们还需要点进去看我们对应方法的覆盖率。 如果想要将覆盖率都达到100%还需要针对其他方法增加测试用例。 到这里我们对于WebSockets接口测试完毕但是如果我们想实现上线通知下线通知如何实现呢见下一节。
http://www.hkea.cn/news/14278436/

相关文章:

  • 做网站下导航字号为多大盐城网站app建设
  • 外国s网站建设wordpress员工管理系统
  • 网站一键制作linux apache发布php网站
  • 滕王阁环境建设网站萌导航
  • 做旅游网站的目的凡科网建设网站如何修改源代码
  • 卖货网站平台建网站用自己的主机做服务器
  • 科技+杭州+网站建设wordpress插件放在主题的哪里
  • 合肥建站软件dede一键更新网站
  • 河南企业网站定制c#网站购物车怎么做
  • php网站开发好学吗老网站不要了做新站需要怎么处理
  • 南昌建网站那家好外贸网络推广哪个好
  • 黑龙江华龙建设集团网站erp企业管理系统有哪些软件
  • 免费网站软件推荐沈阳seo专业培训
  • 广西壮族自治区在线seo关键词排名优化上海网站排名优化价格
  • 色块网站设计html5网站开发环境的搭建
  • 搜索引擎在网站建设中的重要性wordpress搭建的网站
  • 初学者做网站厦门优秀的网站设计
  • 网站编程工资多少wordpress主题 演员
  • 做网站用的动漫资料安徽省干部建设教育网站
  • 优惠券的网站制作wordpress 超级管理员
  • 网站维护页面专业做家居的网站
  • 乘客电梯做推广的网站百度收录量查询
  • 站内推广的方法和工具实事热点新闻事件
  • 顺德区网站设计建设企业门头沟青岛网站建设
  • 郑州做网站推广价格在win10下建设网站
  • 招商网站建设哪家好网站建设如何选择良好的服务器
  • 昆山移动网站建设深圳福田区福田社区
  • 祁阳seoseo 新旧网站 两个域名
  • 万网关网站三次建筑公司网站新闻
  • 上国外网站用什么dns在网站建设上的发言总结