Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android difference between testImplementation and androidTestImplementation in build.gradle

I am using andorid studio 3.2 and I am new to testing. I want to add a testing library but I am not getting what should i write in the dependencies section testImplentation or androidTestImplementation. What is the difference between these two?

like image 972
srb1991 Avatar asked Aug 29 '18 11:08

srb1991


People also ask

What is testImplementation in build gradle?

For example the testImplementation configuration extends the implementation configuration. The configuration hierarchy has a practical purpose: compiling tests requires the dependencies of the source code under test on top of the dependencies needed write the test class.

What is difference between compile and implementation in gradle?

Fortunately, the implementation dependency configuration provides the same functionality as compile. You should always use implementation rather than compile for dependencies, as compile is now deprecated or removed in the case of Gradle 7+.


1 Answers

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 test source set
  • androidTestImplementation : adds dependency for androidTest source set

See this articles for details.

  • https://developer.android.com/topic/libraries/testing-support-library
  • https://developer.android.com/studio/test/
like image 80
galcyurio Avatar answered Oct 01 '22 20:10

galcyurio