I'm trying to integrate some doctest tests with unittest. The tests must be exposed as one or more subclasses of unittest.TestCase, so I'm collecting them with a call to doctest.DocTestSuite(), and then add them to a TestCase class I have created. The tests seem to run, but they always seem to succeed - I have no idea why. Any ideas?
Thomas
---snip--- """
print "Hi" print 1213
"""
def func(): """ >>> print "spam" >>> print blah """
import doctest, unittest suite = doctest.DocTestSuite()
class TestCase(unittest.TestCase): pass
for index, test in enumerate(suite._tests): setattr(TestCase, "test_%d" % index, test)
if __name__ == "__main__": if 1: import unittest unittest.main() else: import doctest doctest.testmod() ---snip---
I can't explain why all the tests seemed to pass, but I tried a different approach that works.
Once you have a suite object, you just need to run it. The TextTestRunner works well for that. I got output errors and failures by doing the following:
if __name__ == '__main__': import doctest, unittest suite = doctest.DocTestSuite() testRunner = unittest.TextTestRunner() testRunner.run(suite)
HTH, Jim Sizelove -- http://mail.python.org/mailman/listinfo/python-list