Python单元测试中os.remove失败的文件系统问题
我正在对一个函数进行单元测试,这个函数尝试打开一个新文件,但如果文件已经存在的话,它应该失败。当这个函数成功运行时,新文件会被创建,所以我想在每次测试结束后删除这个文件,但似乎没有成功:
class MyObject_Initialisation(unittest.TestCase):
def setUp(self):
if os.path.exists(TEMPORARY_FILE_NAME):
try:
os.remove(TEMPORARY_FILE_NAME)
except WindowsError:
#TODO: can't figure out how to fix this...
#time.sleep(3)
#self.setUp() #this just loops forever
pass
def tearDown(self):
self.setUp()
有没有什么想法?Windows 报错似乎表明文件正在被使用……难道是因为测试是在并行线程中运行的吗?
我在其他地方看到过说在单元测试中使用文件系统是“坏习惯”,但真的吗?难道没有不涉及虚拟文件系统的方法吗?