Mock objects stand in for other objects in a system during testing, and sometimes even during development. There are multiple reasons to do this, for example, the underlying structure is not implemented yet, or the call would be really expensive both in a cost of time during development or even in money calling to an API that charges by the amount of calls.