Inline stubbing and mockingΒΆ
New in version 1.8: - Proposed by Carlos Ble
Several pyDoubles users ask for an alternative to set stubbing and mocking in a way similar to pyDoubles API, that is, instead of use the double context manager:
with Stub() as stub:
stub.foo(1).returns(100)
with Mock() as mock:
mock.bar(2).returns(50)
You may invoke the when()
and expect_call()
functions to get the same
setup.
stub = Stub()
when(stub).foo(1).returns(100)
mock = Mock()
expect_call(mock).bar(2).returns(50)
Note that when()
and expect_call()
internally provide almost the same
functionality. Two functions are provided only for test readability
purposes. when()
is intented for stubs, spies and proxyspies, and
expect_call()
is intented for mocks.