Integration tests

Integration tests are at a higher level than unit tests. On Martin Fowler's words:

Integration tests determine if independently developed units of software work correctly when they are connected to each other.

Martin advocates for two different level of Integration tests, that we'll discuss in the following sections: Narrow integration tests and Broad integration tests.