Python doctest不';t测试模块中的类和方法
我无法让doctest测试我的模块类方法 我的模块如下所示: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 _
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
在父文件夹中