1

我有 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 文件进行比较)。

4

0 回答 0