본문
AndroidJUnitRunner
컴퓨터/이론: 안드로이드 2020. 12. 25. 17:27
도입
이번 포스팅에서는 AndroidJUnitRunner에 대해 정리할 것이다.
아래 내용은 https://developer.android.com/training/testing/junit-runner 를 기반으로 정리했다.
사전 지식
JUnit
은 테스트 코드를 작성할 수 있는 프레임워크이다.Instrumenetation
는 Application과 시스템 간 interaction을 모니터닝할 수 있는 code
Android JUnitRunner
개념
- Espresso
- UI Automator
- JUnit3, JUnit4
를 실행할 수 있는 JUnit 테스트 실행기
지원사항
- JUnit 테스트 작성
- 계측 정보
- 테스트 필터링
- 테스트 샤딩
을 지원한다.
JUnit 테스트 작성
JUnit3, JUnit4 호환하지만 함께 사용할 수는 없다. JUnit4를 사용할 경우, @RunWith(Android JUnit4.class)
추가 필요
Android Test Orchestrator
각각의 Test 각각의 Instrumenetation
에서 실행해 서로 충돌하던 문제 해결
(이러한 문제를 겪은 적이 없어 와닿지는 않는다..)
https://developer.android.com/training/testing/junit-runner.html#ato-architecture
앱 환경설정에 액세스
앱의 정적 Context를 위해 ApplicationProvider.getApplicationContext()
사용으로 앱 환경설정 값에 엑세스 가능
테스트 필터링
어노테이션으로 테스트의 특성 설정 가능
@RequireDevice
: 실제 기기에서 테스트 실행 필요@SdkSuppress
: 설정보다 낮은 버전에서 테스트 X, e.g. 23보다 낮은 버전에서 테스트 하지 않기 위해@SdkSuppress(minSdkVersion=23)
@SmallTest
,@MediumTest
,@LargetTest
로 테스트 분류
Shard tests
각각의 Test를 동일한 Instrumentation
으로 그룹화 할 수 있다.
그룹화해 동일한 환경에서 각각의 Test를 진행 할 수 있다.
#androidjunitrunner
'컴퓨터 > 이론: 안드로이드' 카테고리의 다른 글
Unit Test 기본 실습 (0) | 2020.12.20 |
---|---|
Unit Test 개념 및 Lifecycle (0) | 2020.12.19 |
DataStore 개념 및 실습 (0) | 2020.12.13 |
Gradle implementation (0) | 2020.04.02 |
generated Folder 란? (0) | 2020.03.16 |
댓글