Test - Mocking
A Coggle Diagram about Test Doubles (Dummy Object, Test Stub, Test Spy, Mock Object and Fake Object), Concepts (Collaborators, Isolation and System under test), Mocks-Stubs (Mocks -> implement expectations. Stubs -> Do not implement expectations. Used to simulate an scenario.), One of the primary aims of unit testing is to isolate a method or component that you want to test and see how it behaves under a variety of circumstances. These might include calls with various arguments - or even none at all, - or whether it calls other methods as it should. Unfortunately, many methods and/or objects have dependencies on other methods and/or objects, such as network connections, data sources, files, and even previously executed methods. This is where mocks come in. A mock is a fake object that poses as the real McCoy in order to satisfy the inherent dependency(ies) without having to go through the overhead of creating the real object.
Mocks work by implementing the proxy pattern. When you create a mock object, it creates a proxy object that takes the place of the real object. We can then define what methods are called and their returned values from within our test method. Mocks can then be utilized to retrieve run-time statistics on the spied function such as:
How many times the spied function was called.
What was the value that the function returned to the caller.
How many parameters the function was called with. and Isolate Method or Component