Using Karate as a mock server
API mocks (or test doubles, as Karate prefers to call them) are pieces of code that simulate APIs that are dependencies of certain test scenarios. By using these instead of the real APIs, tests can run much faster and more stable since these mocks are always available and provide exactly the data that is expected. Also, if tests need to be written even though certain APIs are only specified but not implemented yet, mocks are a great choice. Later, they can potentially be replaced by real implementations.
A great point is that these mocks can keep their state. This means it is potentially possible to simulate full Create, Read, Update, Delete (CRUD) APIs that can add, get, edit, and remove data.
Authoring a mock scenario
Karate has a very straightforward built-in way to define and use mocks by employing nothing more than the same conventions that are used to write test scenarios. Let’s see what this means.
For our example, we will mock...