【发布时间】:2015-10-23 21:47:37
【问题描述】:
有没有办法模拟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)
【问题讨论】:
-
为什么不直接使用内存中的 StringIO 对象来存储/读取文件?
标签: python python-2.7 csv mocking