前言
上一篇我們分享了FastAPI 學習之路(四十六)WebSockets(三)登入後才可以聊天,那麼我們這次看下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}")
複制
其實要做的測試很簡單,我們可以利用這個方式對于我們已經開發的接口進行單元測試。
後記
發現問題,解決問題。遇到問題,慢慢解決問題即可。
歡迎關注雷子說測試開發,後續将會持續為大家分享更多的技術知識
如果你有問題可以留言或者加我微信:952943386。
2021,一起牛轉錢坤,一起牛逼。
如果覺得這篇文章還不錯,來個【分享、點贊、在看】三連吧,讓更多的人也看到~