A method returns iterator object.
I want to check the number of data to test.
I think it is a simple question, but I coundn't resolve it.
records = a_function()
self.assertEqual(1, len(records)) # TypeError: object of type 'listiterator' has no len()
You need to convert the iterator to a list first:
>>> some_list = [1, 2, 3, 4, 5] >>> it = iter(list) >>> it = iter(some_list) >>> len(it) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: object of type 'list_iterator' has no len() >>> len(list(it)) 5 >>>
Note, however, that this will consume the iterator:
>>> list(it)  >>>