Ich habe Code-Schnipsel unten. Was ich nicht ändern kann, aber ich muss testen. Was es tut, ist es verbindet sich mit dem Server und erhält Daten, die ich brauche. Insbesondere muss ich fälschlicherweise Eingabe für variable Daten1 in Zeile 12 eingeben, um es zu testen. Aber ich kann es bisher nicht erreichen.Wie Generatoren in Python 3 zu testen. Es gibt Fehler die ganze Zeit
1. url = "http://localhost:8000"
2. data = urllib.request.urlopen(url)
3.
4. def get_data():
5. yield data.read()
6.
7. #generator
8. def get_objects(in_stream):
9. json_object = ""
10. buffer = b''
11. for data1 in in_stream:
12. data = buffer + data1
13. data = data.decode("utf-8")
...
22.for json_dict in get_objects(get_data()):
23. print(repr(json_dict))
get_object (in_stream) muss eine Art iterable sein, oder? Also, ich versuche, eine Zeichenfolge zu übergeben:
def test_falsely(self):
self.assertEqual(solution.get_objects("bla bla"), "blabla")
Aber ich erhalte eine Fehlermeldung:
======================================================================
FAIL: test_falsely (__main__.TestStringMethods)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test.py", line 21, in test_falsely
self.assertEqual(solution.get_objects("bla bla"), "blabla")
AssertionError: <generator object get_objects at 0x103433308> != 'blabla'
Was mache ich falsch? Hat jemand eine Idee, wie man es testet? Vielen Dank.
Nun, 'get_objects' nicht zurück oder etwas nachgeben, so ist dies kein [MCVE] . Nachdem Sie das gesagt haben, müssen Sie dem Generator beitreten, den Sie von 'get_objects' zurückbekommen. –
gibt es den Code runter. Ich habe Auslassungspunkte gesetzt, um zu erkennen, dass ich etwas Code ausgeschnitten habe. Mein Fehler. –