Python doctest不';t测试模块中的类和方法

Python doctest不';t测试模块中的类和方法,python,doctest,Python,Doctest,我无法让doctest测试我的模块类方法 我的模块如下所示: simplemod ├── A.py └── __init__.py A.py包含: class A: def method(self): """This is a test >>> True False """ pass (因此测试应该失败) \uuuu init\uuuu.py包含 from .A import A _

我无法让doctest测试我的模块类方法

我的模块如下所示:

simplemod
├── A.py
└── __init__.py
A.py
包含:

class A:
    def method(self):
        """This is a test

        >>> True
        False
        """
        pass
(因此测试应该失败)

\uuuu init\uuuu.py
包含

from .A import A

__test__ = {'A': A}
然后我就跑

>>> import doctest, simplemod
>>> doctest.testmod(simplemod)
TestResults(failed=0, attempted=0)
为什么doctest不测试A.method?

我找到了原因

为什么它不起作用 doctest尝试检测哪些测试不属于被测试模块,并且不运行它们。这将阻止运行依赖项的所有测试

在这里,当我测试
simplemod
时,我的doctest属于
simplemod.A

推荐解决方案 从

A.py
重命名为
A.py
,并用

from . import a
A = a.A

def load_tests(loader, tests, ignore):
    import unittest
    import doctest
    tests.addTests(doctest.DocTestSuite(a))
    return tests
然后,您可以使用简单的

$python-m unittest

在父文件夹中