有没有一种方法可以在单元测试中模拟DictReader
,而不必实际编写文件并重新打开它。
我的函数接受一个DictReader
实例,所以我可以很容易地传递一个来测试它们的功能,但似乎无法在不打开文件的情况下获取一个。
目前,我正在手动编写CSV文件,然后在每个测试结束后将其删除。
class TestRowsStuff(unittest.TestCase):
def write_csv(self, path, iterable):
with open(path, 'wb') as f:
writer = csv.DictWriter(f, [PP, SN, TN])
writer.writeheader()
writer.writerows(iterable)
def setUp(self):
...
self.test_file = os.path.join('test.csv')
self.write_csv(self.test_file, test_values)
def tearDown(self):
os.remove(self.test_file)