1
比方说,我想确保某些标志等得到适当的调度,使之内我的图书馆深,特定的功能被称为:Python的单元测试和模拟:检查如果一个函数被调用,但随后停止测试
high_order_function_call(**kwargs)
深内包含library_function_call()
我想确保它实际上被调用。
此给出的典型例子使用mock.patch
:
@mock.patch('library')
def test_that_stuff_gets_called(self, mock_library):
high_order_function_call(some_example_keyword='foo')
mock_library.library_function_call.assert_called_with(42)
现在,在这种情况下,我必须等待所有的东西在high_order_function_call
整个执行。如果我想要执行停止并在达到mock_library.library_function_call
时立即跳回我的单元测试?
这不是一个坏主意。我已经实现了它,它确实有效。我会稍微等一下,看看是否会有解决方案,但感觉不那么hacky?我只是想知道是否有一种更直接的方式来告诉模拟和/或单元测试,只要满足一些条件就立即停止执行。无论如何,谢谢你的回答! – Lagerbaer
是的,有点惊讶的是,图书馆中没有更好的语法版本。我最好的猜测是模拟可以让所有事情都默认运行,所以多次测试可以在一次传递中发生? – qDot