簡體   English   中英

測試初始化​​程序中是否引發了異常

[英]Test that the exception has been raised within initializer

測試初始化​​對象時會引發異常的方案的正確方法是什么? 使用給定的代碼段:

 def __init__(self, snmp_node: str = "0", config_file_name: str = 'config.ini'):
 [...]
 self.config_file_name = config_file_name
        try:
            self.config_parser.read(self.config_file_name)
            if len(self.config_parser.sections()) == 0:
                raise FileNotFoundError
        except FileNotFoundError:
            msg = "Error msg"
            return msg

我嘗試了以下測試:

self.assertTrue("Error msg", MyObj("0", 'nonExistingIniFile.ini')

但我得到的初始化可能不會返回STR一個AssertionError。

處理這種情況的正確方法是什么? 也許有其他解決方法:我只想確保如果用戶傳遞了錯誤的.ini文件,該程序將不會接受。

需要init返回None。 我認為您正在尋找self.assertRaises

with self.assertRaises(FileNotFoundError):
     MyObj("0", 'nonExistingIniFile.ini')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM