[英]How to test try/except block with pytest and cover all exceptions
我有一個調用 api 的函數來獲取訪問令牌:
def get_token():
try:
url = 'https://call-api/accesstoken'
token = 'authentication-token'
headers = {"Authorization": "Bearer %s" % token}
session = requests.Session()
response = session.get(url, headers=headers)
return response.json()
except HTTPError as http_err:
print(f'HTTP error occurred: {http_err}')
except Exception as err:
print(f'Other error occurred: {err}')
我想用 pytest 測試這個函數並驗證 try/except 塊。 這是我的測試功能:
import responses
import functions as m_functions
@responses.activate
def test_get_token():
url = 'https://call-api/accesstoken'
responses.add(responses.GET, url,
json = {
"accessToken": "tmp-token1"
})
response = m_functions.get_token()
assert response['accessToken'] == 'tmp-token1'
塊 try 內的部分已經過測試,但是如何測試異常部分呢? 目前,只有 try 塊內的部分被測試覆蓋。 我希望我的代碼被完全覆蓋。
任何想法? 謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.