Есть ли способ обмануть DictReader
для модульного тестирования, не имея необходимости писать файл, а затем снова открыть его.Mock CSV 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 в памяти для хранения/чтения файла? – Anzel