![](/img/trans.png)
[英]How to check if code goes inside of except block using unittest in Python
[英]How to write python unittest case for except block which just uses a logger statement
芹菜任務代碼:
import logging
from celery_once import QueueOnce
from celery import shared_task, current_task
from test.set_data import set_data_in_db
logger = logging.getLogger("celery")
@shared_task(base=QueueOnce, once={"graceful": True}, ignore_result=False)
def set_data_task():
try:
logger.info("Set data in db initiated")
set_data_in_db(value=None)
except Exception:
logger.error("data could not be set", exc_info=True)
我的單元測試用例涵蓋了 try 塊中的所有內容。 如何強制我的單元測試也覆蓋塊除外?
當您調用方法set_data_task
,可能只有兩種情況中的一種,方法正常執行(try 塊)或拋出一些異常(塊除外)。
如果您需要測試您的except
塊,您需要將您的方法配置為拋出異常,以便它可以在您的測試中被捕獲和斷言
您將需要配置set_data_in_db
方法來拋出異常被捕獲
對於測試異常,您可以閱讀pytest.raises
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.