테스트
unit test Junit
https://github.com/junit-team/junit/wiki/Getting-started
ui 테스트 개발중인 앱
Robolectric https://robolectric.org 안드로이드 sdk 에뮬레이트해서 테스트 진행
https://codelabs.developers.google.com/codelabs/android-testing/index.html?index=..%2F..index#6
Mockito https://mockito.org
onView(withId(editId)).perform(typeText("text")); onView(withId(btnId)).perform(perform(click()); onView(withText("text")).check(matches(isDisplayed()); @Rule public ActivityTestRule<MainActivity> mMainActivityTestRule = new ActivityTestRule<>(MainActivity.class); @Test onView(withText("message")).check(doesNotExist()); @Test onView(withId(fabId)).perform(click()); onView(withText("message")).check(matches(isDisplayed());
UI테스트 에스프레소 gradlew connectedAndroidTest
androidTestImplementation('com.android.support.test:runner:0.4') { exclude module: 'support-annotations' } androidTestImplementation('com.android.support.test:rules:0.4') { exclude module: 'support-annotations' } androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.1') { exclude module: 'support-annotations' }
exclude moduel 라이브러리 중복으로 인해 충돌시 설정
에스프레소 치트 시트
https://developer.android.com/training/testing/espresso/cheat-sheet
https://github.com/googlesamples/android-topeka/tree/java
Espresso.onView / Espresso.onData / Intents.intended / Intents.intending
UIautomator 다른 앱과의 연계 홈 화면에서의 동작 테스트
exclude 제외하고 러너와 룰러도 사용
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
https://developer.android.com/training/testing/ui-automator#java
$ANDROID_HOME/tools/uiautomatorviewer
단위 테스트는 가능한한 모두 UI테스트는 중요 화면과 기능으로 범위를 좁혀 작성
'개발정보 > 안드로이드' 카테고리의 다른 글
안드로이드 개발 레벨업 교과서 10장 디자인 기초 (0) | 2019.01.16 |
---|---|
안드로이드 개발 레벨업 교과서 9장 CI(Jenkins, Circle CI) (0) | 2019.01.16 |
안드로이드 개발 레벨업 교과서 7장 Unit Test (0) | 2019.01.15 |
안드로이드 개발 레벨업 교과서 6장 Gradle (0) | 2019.01.15 |
안드로이드 개발 레벨업 교과서 5장 MVP, MVVM (0) | 2019.01.08 |