2016-08-02 65 views
0
  • 我有一个函数,包装os删除。
  • 我有单元测试设置如下:assertRaises工作内置异常

    self.assertRaises(FileNotFoundError,my_rm(bad_file_path))

bad_file_path不存在,所以它抛出异常。但是,上述仍然没有通过测试。如果可能,我如何测试FileNotFoundError?

+0

上面贴出的答案是正确的。重复。 – Jacob

回答

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()。由于发生异常,测试会崩溃。