2016-02-15 64 views

回答

5

隨着indirect=True您可以參數化你的夾具,False - 默認值。例如:

import pytest 

@pytest.fixture 
def fixture_name(request): 
    return request.param 

@pytest.mark.parametrize('fixture_name', ['foo', 'bar'], indirect=True) 
def test_indirect(fixture_name): 
    assert fixture_name == 'baz' 

所以本例生成兩個測試。第一個從fixture_name得到值foo,因爲這個測試夾具運行參數化。第二次測試得到bar的值。並且每個測試將失敗,因爲對baz進行斷言檢查。

+0

indirect = True可以確保您在測試中使用參數化時仍然執行燈具主體。 – MechanTOurS