나는 다음과 같은 코드를 가지고파이썬 테스트 : 시뮬레이션 ImportError를
try:
from foo_fast import bar
except ImportError
from foo import bar
def some_function(a, b):
return foo(a, b)
가 없었던 내가 지금 foo_fast
을 가져올 수있는 두 경우를 검사 할. pytest 및 pytest - 모의를 사용
, 나는 자연스럽게 pytest기구의 두 가지 상황을 캡슐화 할, 그래서 그것은 단지 시험 전에 한 번 실행되는 import 문을 보인다 그러나 나는
@pytest.fixture(params=(True, False))
def use_fast(request, mock):
if request.param is not True:
mock.patch("foo_fast.bar", side_effect=ImportError)
return request.param
def test_foo(use_fast):
assert some_function(1, 2)
를 사용하는 것이라고 생각 그래서 나는 ImportError
을 조롱 할 수 없다.
어떻게 이런 사람을 모의합니까? ImportError
사례?