본문

AndroidJUnitRunner

도입

이번 포스팅에서는 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

공유

댓글