assertRaises是否适用于内置异常

时间:2016-08-02 18:03:31

标签: python unit-testing

  • 我有一个包装os remove的函数。
  • 我的单元测试设置如下:

    self.assertRaises(FileNotFoundError,my_rm(bad_file_path))

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

1 个答案:

答案 0 :(得分: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()。由于发生异常,测试会崩溃。