我说的不是pytest定义的“Fixture参数化”,而是传递给函数(在本例中是Fixture函数)以使代码更模块化的实际参数。在
为了证明,这是我的固定装置
@yield_fixture
def a_fixture(a_dependency):
do_setup_work()
yield
do_teardown_work()
a_dependency.teardown()
如您所见,我的fixture依赖于a_dependency
,它的teardown()也需要被调用。我知道在天真的用例中,我可以这样做:
然而,虽然a_fixture
代码可以放在中心位置并由所有测试重用,a_dependecy
代码是特定于测试的,每个测试可能需要创建一个新的a_dependency
对象。在
我想避免将fixture和依赖项复制粘贴到所有测试中。如果这是常规python代码,我可以将a_dependecy
作为函数参数传递。如何将此对象传递到共享设备?在
在我看来,也许你不希望
a_dependency
成为一个固定装置,你只想让它成为一个常规函数。你想要这样的东西吗?在好吧,好吧,如果
a_dependency
真的是固定不变的,为什么不能两全其美呢?装饰器毕竟只是语法上的甜点。在我没有检查这是否真的有效,因为问题中的信息太笼统了,我无法做出一个有效的案例。如果你能提供更多的细节,那么给出一个更有用的答案可能会更容易。在
相关问题 更多 >
编程相关推荐