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}")

   其實要做的測試很簡單,我們可以利用這個方式對於我們已經開發的接口進行單元測試。

文章首發在公眾號,歡迎關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM