Wie erstellt man In-Memory-Dateien für Unit-Tests in Go?In-Memory-Datei zum Testen
In Python teste ich das Lesen aus einer Datei oder das Schreiben in eine Datei mit io.BytesIO
oder io.StringIO
. Um zum Beispiel eine Datei-Parser zu testen, würde ich
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
Ebenso für die Dateiausgabe haben, würde ich so etwas wie die folgenden haben:
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
Vielen Dank für die Bereitstellung der Codebeispiele! – gotgenes