Instrumentation testing
In this section, we will look at how to perform instrumentation testing for an Android application and how we can take advantage of dependency injection to inject either mock data or add test-related logic without modifying the structure of an application's code.
Instrumentation testing is a set of tests that are run on an Android device or emulator and is represented by the tests written in the androidTest
directory. Just like other parts of Android development, instrumentation testing evolved across the years to improve the quality of test code and to provide the ability to create better tests and assertions. Initially, testing was done using test classes such as ActivityTestCase
, ContentProviderTestCase
, and ServiceTestCase
, which were mainly used to test individual components of an application in isolation. The addition of the Espresso testing libraries allows us to easily test multiple activities as part of the journey a user would undertake.