You want to write unittest
-cases for a function like that:
def test_me(a):
for b in c:
print do_something(a,b)
At firs
print prints to sys.stdout, which you can reassign to your own object if you wish. The only thing your object needs is a write
function which takes a single string argument.
Since Python 2.6 you may also change print
to be a function rather than a language construct by adding from __future__ import print_function
to the top of your script. This way you can override print
with your own function.