在通过鼻测试调用doctest时,有没有一种方法可以获得类似于extraglobslike的行为?

2024-05-23 07:09:17 发布

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

在Python模块的底部,我有:

if __name__ == "__main__":
    import doctest
    import hgvs.dataproviders.uta
    doctest.testmod(extraglobs={'hdp': hgvs.dataproviders.uta.connect()})

extraglobs位的作用是创建数据库连接的实例,并将其作为变量hdp公开给测试,如下所示:

class EasyVariantMapper(VariantMapper):
    """Provides simplified variant mapping for a single assembly and
    ...
    >>> evm = EasyVariantMapper(hdp)
    >>> evm._alt_ac_for_tx_ac('NM_000552.3')
    ['NC_000012.11']

    """

当我用python hgvs/variantmapper.py调用doctests时,这种方法非常有效,因为测试是用extraglobs初始化调用的。你知道吗

但是,当我使用nosetests --with-doctestpython -m doctest hgvs/variantmapper.py调用时,由于hdp未定义,我会遇到错误,因为这些调用不使用extraglobs。你知道吗

如何编写使用初始化状态并且在doctest和nose框架下都有效的doctest?(http://nose.readthedocs.org/en/latest/doc_tests/test_doctest_fixtures/doctest_fixtures.html对我没有帮助。)


Tags: pyimportforfixturesacnosedoctestevm

热门问题