2016-08-02 114 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()。由於發生異常,測試會崩潰。