You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=Nonecreated_at=<Date2012-09-13.11:12:39.186>labels= ['type-feature', 'library']
title='expose way to count examples in doctest.DocFileSuite()'updated_at=<Date2012-09-13.13:48:13.593>user='https://github.com/cjerdonek'
This issue is to add to the doctest module an easy way to obtain the number of doctest examples in a unittest.TestSuite instance returned by a call to the doctest.DocFileSuite() function.
The unittest.TestSuite class currently exposes a countTestCases() method that gives the number of TestCase instances inside a test suite.
However, this method isn't useful for determining how many doctest examples that the TestSuite instance returned by a call to DocFileSuite() contains, nor in particular whether the instance contains any actual tests. Calling countTestCases() on the return value returns the number of files that were parsed and not the number of doctest examples.
In fact, getting the number of doctest examples contained in such a TestSuite is surprisingly obscure and seems to rely on implementation details and accessing private attributes. Here is one way to do it (annotated with comments):
paths= ['Doc/howto/ipaddress.rst', 'Doc/howto/unicode.rst']
# The return value of DocFileSuite is a unittest.TestCase instance, and# each item in the return value is a doctest.DocFileCase instance (which# in turn is also a doctest.DocTestCase and unittest.TestCase instance).suite=doctest.DocFileSuite(*paths, module_relative=False)
total=0forcaseinsuite:
doc_test=case._dt_test# a doctest.DocTest instance.total+=len(doc_test.examples)
print("total test cases: %s"%suite.countTestCases())
print("total examples: %s"%total)
Ideally, you would just be able to do something like this instead:
suite.countExamples()
Exposing a method like that would probably involve converting DocFileSuite from a simple function that returns a unittest.TestSuite into a class that subclasses unittest.TestSuite (so that the function becomes a constructor).
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: