测试在初始化对象时会引发异常的方案的正确方法是什么?使用指定的代码段:
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')
但是我遇到了一个AssertionError,提示 init 可能不返回str。
处理这种情况的正确方法是什么?也许有其他解决方法:我只想确保如果用户传递了错误的.ini文件,该程序将不会接受。
答案 0 :(得分:0)
init 返回无。我认为您正在寻找self.assertRaises
with self.assertRaises(FileNotFoundError):
MyObj("0", 'nonExistingIniFile.ini')