可以在包之间共享pytest fixtures和confest.py模块吗?

时间:2017-03-13 14:20:03

标签: python pytest fixtures

假设我error: device not found提供了一个packageA模块中的usefulClass类pytest工具,以及test_stuff.py模块中的测试配置。

此外,假设我conftest.pypackageB导入packageC,通过packageA安装,并且他们使用pip办法。因为他们以相同的方式使用usefulClassusefulClasspackageB将需要许多相同的pytest装置和配置。事实上,他们的测试主要区别在于他们迭代的输入集。

因为灯具和配置是相同的并且来自packageC的使用,是否可以在usefulClass中定义这些灯具和配置,然后将它们导入{{1}的测试环境中}和packageA

特别是,我想重复使用packageB packageC模块中出现的pytest_generate_tests的定义,而不是数十个(如果不是数百个)其他软件包。这样,我只需要维护一个packageA模块,而不是数百个。

1 个答案:

答案 0 :(得分:2)

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

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

from packageA.testutils import *

也许它甚至可以保证创建一个所有其他包依赖的独立包。