我有一個需要在我的測試套件中使用燈具的功能。這只是一個幫助生成完整URL的小幫助函數。在PyTest中將夾具傳遞給輔助函數?
def gen_url(endpoint):
return "{}/{}".format(api_url, endpoint)
我在conftest.py
夾具返回的網址:
@pytest.fixture(params=["http://www.example.com"])
def api_url(request):
return request.param
@pytest.fixture(params=["MySecretKey"])
def api_key(request):
return request.param
最後,在我的測試功能,我需要調用我的gen_url
:
def test_call_action_url(key_key):
url = gen_url("player")
# url should equal: 'http://www.example.com/player'
# Do rest of test here...
當我這樣做但是,它會拋出一個錯誤,說明調用gen_url
時api_url
未定義。如果我添加api_url
作爲第二個參數,我需要將它作爲第二個參數傳遞。這不是我想要做的。
我可以將api_url
作爲第二個參數添加到gen_url
而不需要從測試中傳遞它嗎?爲什麼我不能像api_key
那樣在我的test_*
函數中使用它?
爲什麼你不想把'api_url'傳遞給'gen_url'? –