如何从另一个夹具参数化夹具



是否有可能从夹具中参数化夹具?

假设我有一个fixture,它将relay_number作为参数:

@pytest.fixture
def unipi_relay(request):
try:
relay_number = request.param["relay_number"]
except KeyError:
raise ValueError(
"This function requires as a parameter dictionary with values for keys:"
"nrelay_number - passed as integern"
)
relay = RelayFactory.get_unipi_relay(relay_number)
relay.reset()
yield relay
relay.reset()

现在我想要另一个fixture,它将产生带有已传递参数的unipi_ready

我之所以要实现这样的解决方案,是因为我想在单个测试中重复使用unipi_readfixture几次。

我不确定我是否正确理解了你想要实现的目标,因为你还没有设置你的夹具所采用的参数。也许"工厂即夹具"模式正是您想要的,因为这样您就可以重用unipi_relay夹具。还请看一下在同一测试中重用pytest夹具的问题。

最新更新