After finding no examples online of Espresso / Robolectric setup in Android Studio with the new Unit Testing feature (without using a third party plugin) I decided to create this boilerplate project to document the setup. After recreating the same project setup over and over again I decided it was also about time to do so! The project structure is as follows:
All ready to go with:
- Espresso testing
- Robolectric testing
- Network requests using retrofit and Rx Java
- Database management using Rx java and pure SQLite
- Holders for list items using EasyAdapter
- Butterknife for easy view injection
- Picasso for easy image downloading / display
- Android SDK.
- Android 5.1 (API 22) .
- Android SDK Tools
- Android SDK Build tools 22.0.1
- Android Support Repository
- Android Support library
- Enabled [Unit Test support] (http://tools.android.com/tech-docs/unit-testing-support)
To build, install and run a debug version, run this from the root of the project:
./gradlew installRunDebug
For Android Studio to use syntax highlighting for Automated tests and Unit tests you must switch the Build Variant to the desired mode.
To run unit tests on your machine using [Robolectric] (http://robolectric.org/):
./gradlew testDebug
To run automated tests on connected devices:
./gradlew connectedAndroidTest