可以在doctest文件中使用py.test固件吗?

2024-04-28 14:53:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我们使用py.测试在一个项目中,并在大多数测试用例中使用fixture。但我看不到在doctest文件中使用fixture的可能性。在

举一个包含一些代码片段的示例:我在conftest.py比如:

@fixture
def browser(request):
    from wsgi_intercept import zope_testbrowser
    browser = zope_testbrowser.WSGI_Browser()
    [...]
    return browser

并在文件测试中使用它_浏览器.txt比如:

^{pr2}$

但是我找不到一种方法来把设备放入doctest文件中。这有可能吗py.测试?在


Tags: 文件项目代码pybrowserzope示例request
2条回答

有一个pull request试图在pytest repository上实现这一点。它为doctest文件提供了两个全局变量,即fixture_request和{}(这是{}的一个方便快捷方式)。预期用途是:

>>> browser = get_fixture('browser')
>>> browser.open('some_url')

这与上面Holger建议的.. pytest-fixtures: ...行不同,但是更容易实现。。。:)不用说,当然要讨论了!在

目前不支持。pytest需要在收集时知道doctest中将使用哪些fixture。如果我们能想出一种方法来声明将要使用哪些fixture,那么添加对_pytest/doctest.py的支持应该不难,也许还可以自动找出doctest需要哪些fixture,但不确定。在

相关问题 更多 >