Как создать файлы в памяти для модульного тестирования в Go?Файл в памяти для тестирования
В Python я проверяю чтение из файла или запись в файл с использованием io.BytesIO
или io.StringIO
. Например, чтобы проверить файл парсер, я бы
def test_parse_function():
infile = io.StringIO('''\
line1
line2
line3
''')
parsed_contents = parse_function(infile)
expected_contents = ['line1', 'line2', 'line3'] # or whatever is appropriate
assert parsed_contents == expected_contents
Аналогично для вывода файла, я бы что-то вроде следующего:
def test_write_function():
outfile = io.StringIO()
write_function(outfile, ['line1', 'line2', 'line3'])
outfile.seek(0)
output = outfile.read()
expected_output = '''\
line1
line2
line3
'''
assert output == expected_output
Спасибо за предоставление примеров кода! – gotgenes