我有 unittests 类,我有测试方法。现在在这些方法中,我临时创建一个文件来与模块内的静态文件进行比较。运行测试后,我想删除该文件
现在在setUp
方法中,我定义了属性:
self.dir_path
它显示了文件目录的路径。所以要获取文件,我可以简单地写:
'%s/some_file.xls' % self.dir_path
现在要删除它,我会执行以下操作:
os.remove(`%s/some_file.xls` % self.dir_path)
但是tearDownClass
是一个类方法,它不会看到self.dir_path
. 如果我使用 insidetearDown
方法,那么它将在每次测试后尝试删除该文件(该文件仅在其中一种测试方法中创建),这将失败。
那么这种情况下的最佳选择是什么?我应该在创建它的测试方法中删除该文件吗?我想利用旨在做到这一点的拆解方法功能,但似乎我做不到。
或者也许有更好的方法来临时创建一个文件,然后在测试后将其删除?
笔记。我需要创建该文件,因为我正在测试以 excel 格式生成的报告,并且文件是使用一个库生成的,但生成的内容会与另一个库进行检查(xlwt
用于创建,xlrd
用于将结果与静态 excel 文件进行比较)。