【问题标题】:Does assertRaises work on builtin exceptions [duplicate]assertRaises 是否适用于内置异常 [重复]
【发布时间】:2016-12-08 05:28:58
【问题描述】:
  • 我有一个封装 os remove 的函数。
  • 我的单元测试设置如下:

    self.assertRaises(FileNotFoundError, my_rm(bad_file_path))

bad_file_path 不存在,因此抛出异常。但是,以上仍然未能通过测试。如果可能,我如何测试 FileNotFoundError?

【问题讨论】:

  • 上面发布的答案是正确的。重复。

标签: python unit-testing


【解决方案1】:

documentation 建议您使用with 运行assertRaises 测试,如下所示:

with self.assertRaises(FileNotFoundError):
    my_rm(bad_file_path)

否则,您将不得不分别传入函数和参数,如下所示:

self.assertRaises(FileNotFoundError, my_rm, bad_file_path)

您当前正在做的是调用my_rm(bad_file_path) 并尝试将该调用的结果传递给self.assertRaises()。由于发生异常,测试崩溃。

【讨论】:

    猜你喜欢
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 2021-05-06
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多