gpt4 book ai didi

python - 如何正确地对 FileNotFoundError 进行单元测试

转载 作者:行者123 更新时间:2023-11-28 22:16:46 28 4
gpt4 key购买 nike

使用 unittest 模块,如何测试打开文件时引发的 FileNotFoundError,如下所示:

func(filename):
try:
file = open(filename)
except FileNotFoundError:
exit()

单元测试模块

class TestFunc(unittest.TestCase):

def test_func(self):
self.assertRaises(FileNotFoundError, func, "no_exist.txt")

结果错误

AssertionError: FileNotFoundError not raised by func

最佳答案

您正在异常处理程序中吞噬异常,因此您的调用代码(单元测试)无法知道已引发错误,它所看到的只是您的代码已经运行并退出。

考虑再次加注:

func(filename):
try:
file = open(filename)
except FileNotFoundError:
# Whatever else you want to do
raise

更好的是,您的单元测试不应该真正依赖于不存在的文件 - 单元测试应该根据定义自包含。考虑模拟 open 方法,以便您拥有更多控制权。

关于python - 如何正确地对 FileNotFoundError 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51986259/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com