0
我想測試我們的代碼庫中對請求重試的處理。爲此我想定義一個spy
,它爲同一個調用返回不同的值。我使用doublex和py.test對我的測試:在每個調用中設置一個返回不同值的doublex間諜
這是工作測試用例,單個調用:
import pytest
from doublex import Spy, assert_that, ANY_ARG, is_
@pytest.mark.unit
def test__me():
with Spy() as spy:
spy.foo(ANY_ARG).returns(10)
assert_that(spy.foo(), is_(10))
重試將做同樣的電話進行(即具有相同參數),但會返回不同的值。這將是類似這樣的事情(不工作):
import pytest
from doublex import Spy, assert_that, ANY_ARG, is_
@pytest.mark.unit
def test__me():
# TODO: how to setup a spy returning changing values, with fixed calling arguments?
with Spy() as spy:
spy.foo(ANY_ARG).returns(10)
spy.foo(ANY_ARG).returns(11)
# Each invocation will return a different value
assert_that(spy.foo(), is_(10))
assert_that(spy.foo(), is_(11))
我怎樣才能設置返回每次調用不同的值是間諜嗎?