def test_when_code_inside_context_managers_fails(self):
ControllableContextManager.reset_events()
outer = ControllableContextManager()
inner = ControllableContextManager()
def fail():
raise NotImplementedError('hi')
with pytest.raises(NotImplementedError):
self.run_nested_context_managers(outer, inner, fn=fail)
expected_calls = self.get_recorded_calls()
assert expected_calls == [
(outer, '__enter__'), (inner, '__enter__'),
(inner, '__exit__'), (outer, '__exit__')
]
ControllableContextManager.reset_events()
with pytest.raises(NotImplementedError):
with multi_context_manager([outer, inner]):
fail()
assert expected_calls == self.get_recorded_calls()
test_wrapper.py 文件源码
python
阅读 38
收藏 0
点赞 0
评论 0
评论列表
文章目录