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?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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/