Python 2.7 autodoc扩展模拟类的类
我试图在扩展外部类的类上运行autodoc 我使用了mock,因此导入被接受 为此,我使用了本博客中描述的内容 我试图记录的python文件如下所示: 从de.xyz导入类_,该类_被扩展Python 2.7 autodoc扩展模拟类的类,python-2.7,mocking,python-sphinx,autodoc,Python 2.7,Mocking,Python Sphinx,Autodoc,我试图在扩展外部类的类上运行autodoc 我使用了mock,因此导入被接受 为此,我使用了本博客中描述的内容 我试图记录的python文件如下所示: 从de.xyz导入类_,该类_被扩展 class extending_class (class_that_is_extended): ''' docstring ''' 运行sphinx之后,结果是只显示类名加上到源的链接 当我更改行“类扩展类(类扩展为类扩展):” 对于“类扩展类(对象):”sphinx/autodoc使用docstrin
class extending_class (class_that_is_extended):
'''
docstring
'''
运行sphinx之后,结果是只显示类名加上到源的链接
当我更改行“类扩展类(类扩展为类扩展):”
对于“类扩展类(对象):”sphinx/autodoc使用docstring生成文档
我怎样才能让课堂保持原样,并且仍然在文档中获取文档字符串?使用此处发布的方法: 我刚换了一行:
sys.modules[mod_name] = mock.Mock()
致:
并从MOCK_模块中删除了“de.xyz.class_,该类_是扩展的”我遇到了同样的问题,我的解决方案是直接从属性访问上的
MOCK
返回对象
from unittest.mock import MagicMock
MOCK_MODULES = [
# modules to mock
'kivy.uix.floatlayout',
]
MOCK_CLASSES = [
# classes you are inheriting from
"FloatLayout",
]
class Mock(MagicMock):
@classmethod
def __getattr__(cls, name):
if name in MOCK_CLASSES:
return object
return MagicMock()
sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)
sys.modules[mod_name] = mock.Mock(class_that_is_extended=object)
from unittest.mock import MagicMock
MOCK_MODULES = [
# modules to mock
'kivy.uix.floatlayout',
]
MOCK_CLASSES = [
# classes you are inheriting from
"FloatLayout",
]
class Mock(MagicMock):
@classmethod
def __getattr__(cls, name):
if name in MOCK_CLASSES:
return object
return MagicMock()
sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)