Ich verwende ein io.StringIO
Objekt, um eine Datei in einem Unit-Test für eine Klasse zu verhöhnen. Das Problem ist, dass diese Klasse scheint alle Strings erwarten standardmäßig Unicode, aber die eingebaute str
kehrt nicht Unicode-Strings:Unicode-Probleme bei Verwendung von io.StringIO zum Mock einer Datei
>>> buffer = io.StringIO()
>>> buffer.write(str((1, 2)))
TypeError: can't write str to text stream
Aber
>>> buffer.write(str((1, 2)) + u"")
6
funktioniert. Ich nehme an, das liegt daran, dass die Verkettung mit einer Unicode-Zeichenfolge das Ergebnis ebenfalls Unicode macht. Gibt es eine elegantere Lösung für dieses Problem?