pytest 装置和 confest.py 模块可以跨包共享吗?

2024-01-27

假设我有packageA它提供了一个类usefulClass, pytest 固定装置test_stuff.py模块,并测试配置conftest.py模块。

此外,假设我有packageBand packageC两者都导入packageA,通过安装pip,并且他们使用usefulClass以同样的方式。因为他们使用usefulClass以同样的方式,packageB and packageC将需要许多相同的 pytest 夹具和配置。事实上,他们的测试主要区别仅在于迭代的输入集不同。

因为固定装置和配置是相同的并且是由于使用usefulClass,是否可以在中定义这些装置和配置packageA,然后导入到测试环境中packageB and packageC?

特别是,我想重用以下定义pytest_generate_tests出现在packageA's conftest.py模块跨数十个(如果不是数百个)其他包。这样我只需要维护一个confest.py模块,而不是数百个。


The conftest.py文件不是模块的一部分,不能从其他模块导入。

但是你可以创建一个模块packageA.testutils,然后您可以将其导入所有conftest.py文件,包括packageA's:

from packageA.testutils import *

也许它甚至需要创建一个所有其他包都依赖的单独包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytest 装置和 confest.py 模块可以跨包共享吗? 的相关文章

随机推荐