【发布时间】:2018-11-06 21:24:47
【问题描述】:
我有以下MWE(实际代码更大,但这是我要测试的部分):
def processFile():
fileToProcess = "localFile.txt"
try:
with open(fileToProcess, "rb") as f:
# Process file here
except EnvironmentError:
# Handle Exception
我的问题是: 如何测试上面的函数,以测试是否抛出异常。我对测试的理解(非常有限)是,在测试中调用函数并导致“失败”发生,同时断言。
def testProcessFile(self):
self.assertRaises(???)
但是我怎样才能使文件的存在无效,而不实际删除它呢?谢谢!
【问题讨论】:
-
如果函数已经处理了异常,调用者永远不会知道异常是否被引发(除非你重新引发或返回告诉你发生了什么的特定值)。
-
好的,我期待这样的答案,谢谢!我只是不确定是否有办法从测试中操作实际函数中的变量(即变量“fileToProcess”)
标签: python unit-testing testing exception-handling