如何在使用pytest时组织fixtures

5 投票
1 回答
2766 浏览
提问于 2025-04-17 19:00

测试用例通常比较小,而且可以重复使用。因为一个特定的测试用例可能会依赖于其他的测试用例。

@pytest.fixture
def Account(db, memcache):
    ...

我想把我的测试用例整理成模块,然后在特定的测试文件中像这样导入它们(例如)。

from .fixtures.models import Account

可惜这样似乎不太管用。相反,我总是需要导入所有的子测试用例,比如。

from .fixtures.models import Account, db, memcache

有什么更好的方法可以让小而可重复使用的测试用例在模块层面上可用呢?(conftest是在包/目录层面上工作的。)

1 个回答

1

通常我不太推荐这样做,但如果你的模块里有一组特定的测试数据(这些数据之间有依赖关系),那么也许可以用 from .fixtures.models import * 这种方式?我现在想不出其他通用的解决办法,可以在导入测试模块时不需要了解这些测试数据之间的依赖关系。

撰写回答