Very few projects have a substantial or well-written integration test layer. A major reason for this is that “integration testing” is a pretty poorly defined term that covers a range of testing types. We’re often tempted to skip this layer, but unit tests and functional end-to-end tests are not enough by themselves to ensure our code is working properly. In this talk, we will learn why integration testing matters and how to clarify what that term actually means (hint: there's no right answer). Once we can define what integration testing actually means for our project, we can build a test harness that is easier for both developers and testers to extend and trust.