我正在对试图打开新文件的函数进行一些单元测试,但如果该文件已存在则应该失败。当函数成功运行时,会创建新文件,所以我希望在每次测试运行后删除它,但它似乎不起作用:
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错误似乎表明文件正在使用中......可能是测试是在并行线程中运行的吗?
我在其他地方读过,在单元测试中使用文件系统是“不好的做法”,但真的?当然有一种方法可以解决文件系统的问题吗?