我搜索并搜索了一个解决方案,我可以使用Sphinx autodoc在我的Python脚本/文件中查找所有装饰器包装的函数。该脚本包含许多函数,所有函数都被称为step_impl
,具有不同的参数,但每个函数都由不同的唯一装饰器包装。我希望能够将这些文档记录为单独的函数。目前它只是选择脚本中的最后一个函数。
这是脚本的样子:
@given(u'I am testing a browser')
def step_impl(context):
"""STEP: I am testing a browser
:param context: webdriver context
:type context: dictionary
"""
<stuff here>
@when(u'I visit "{browser_page}"')
def step_impl(context, browser_page):
<other stuff here>
@then(u'I see the Top Rail')
def step_impl(context):
context.page.assert_element_display("id", "adv_header")
<still other stuff here>
所以我的.rst文件包含自动模块格式:
.. automodule:: features.steps.general
:members:
:undoc-members:
:show-inheritance:
文档只列出了一个函数:
features.steps.general.step_impl(context, title_text, element_type, element_name)
恰好是脚本中的最后一个函数。
如何为每个函数列出装饰器并列出所有函数,即使它们具有相同的名称。我试图理解functools.wraps
,但无法理解我的头脑。在它周围(看看我在那里做了什么!!)。
感谢您提前获得任何指导......