• FastAPI 学习之路(四十八)WebSockets(四)接口测试


      在我们测试中,肯定会对接口进行测试。之前也分享过FastAPI 学习之路(三十八)对开发接口进行测试,那么我们针对WebSockets接口怎么测试呢。

            其实很简单。

    from fastapi.testclient import TestClient
    def test_websocket():
        client = TestClient(app)
        with client.websocket_connect("/items/ws?token="+"leizishuoceshi") as websocket:
            websocket.send_text("Hello WebSocket")
            data = websocket.receive_text()
            assert str(data) =="消息是: Hello WebSocket"

      然后执行测试即可。

      这个错误,主要是我们在最后的时候没有释放链接,我们可以在代码中链接接受到消息后,返回完毕关闭,或者说我们单元测试的时候关闭连接.

    @app.websocket("/items/ws")
    async def websocket_endpoint(
        websocket: WebSocket,
        cookie_or_token: str = Depends(get_cookie_or_token),
    ):
    
        await websocket.accept()
        while True:
            data = await websocket.receive_text()
            if data=='Hello WebSocket':
                await websocket.send_text(f"消息是: {data}")
                break
            else:
                await websocket.send_text(f"消息是: {data}")

       其实要做的测试很简单,我们可以利用这个方式对于我们已经开发的接口进行单元测试。

    文章首发在公众号,欢迎关注。

  • 相关阅读:
    spring注解事务管理
    Spring切入点表达式常用写法
    JPA和事务管理
    maven仓库
    struts2拦截器
    js中 转义字符
    jquery中变量加$和不加$有什么区别!
    spring大乱炖
    第一章 java多线程
    CS:APP 05 笔记
  • 原文地址:https://www.cnblogs.com/leiziv5/p/15416877.html
Copyright © 2020-2023  润新知