【发布时间】:2018-10-07 10:53:36
【问题描述】:
我使用以下内容来模拟 py.test 测试的常量值:
@patch('ConstantsModule.ConstantsClass.DELAY_TIME', 10)
def test_PowerUp():
...
thing = Thing.Thing()
assert thing.a == 1
这模拟了测试和 Thing 中使用的 DELAY_TIME,这是我所期望的。
我想对这个文件中的所有测试都这样做,所以我尝试了
@patch('ConstantsModule.ConstantsClass.DELAY_TIME', 10)
@pytest.fixture(autouse=True)
def NoDelay():
pass
但这似乎没有相同的效果。
这里有一个类似的问题:pytest-mock mocker in pytest fixture,但那里的模拟似乎是以非装饰方式完成的。
【问题讨论】: