pytest 测试内部函数

pytest testing internal functions

假设我有一个包裹qaz:

qaz/
   __init__.py
   qaz.py
tests/
   test_qaz.py
setup.py

现在,我想测试一些内部 qaz.py 功能:


def _abc():
    return 3

def def():
   return _abc() + 2

但是当我 运行 pytest 进行这样的测试时:

from qaz.qaz import *

def test_abc():
    assert _abc() == 3

def test_def():
    assert def() == 5

我的问题是如何测试_abc()

现在我得到:

E       NameError: name '_abc' is not defined

哦,明白了。当涉及到内部功能时,您需要具体说明:

from qaz.qaz import _abc