If you create android project using Android Studio.
You can find three directories like following. (each directory called Source Set)
- app/src/main
- app/src/androidTest : for android UI test. It needs virtual or real device. (Espresso, UI automator)
- app/src/test : for android independent test.
The androidTest directory contains test cases that touch the screen or check what is displayed on the screen.
In the test directory, we mainly do unit tests such as testing one function.
But test directory is not only for Unit test. You can also write Integration test like HTTP call.
Even you can UI test in test directory using Robolectric library.(It’s really fast rather than Espresso)
So what is testImplementation and androidTestImplementation? (each called Configuration)
- testImplementation : adds dependency for
testsource set - androidTestImplementation : adds dependency for
androidTestsource set
See this articles for details.
- https://developer.android.com/topic/libraries/testing-support-library
- https://developer.android.com/studio/test/