[android] junit

sundays·2022년 11월 21일
0

android

목록 보기
1/18

이번에 ROOM을 앱에 도입하기 위해 우선 JUNIT TEST를 도입하려고 합니다. junit test를 도입한 적이 개발 하면서 처음입니다. 로컬 단위 테스트로 앱 로직 단위를 평가하는 방법입니다.
종속 항목 유형에 따라서 Robolectric, Mockito 같은 모의 프레임 워크를 사용하는 것은 배제하고 가장 기본적인 junit test 방법에 대해 보겠습니다.

environment

로컬 단위 테스트의 소스 파일의 위치는 module-name/src/test/java 에 저장 해야 합니다
해당 부분은 프로젝트 생성시 자동으로 함께 생성되는 부분이라 생성 하지 않으셔도 됩니다.
test class만 따로 추가하는 방식으로 진행하면 됩니다.

build.gradle

plugins {
    ...
    id("kotlin-kapt")
    ..
}
defaultConfig {
        ...
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        ...
}
dependency {
	testImplementation("junit:junit:4.13.2")
}

test class

  • junit.framework.TestCast 를 확장합니다
  • 테스트 메서드 이름에 test 키워드를 항상 붙입니다
  • junit.framework 또는 junit.extensions 패키지 클래스를 사용합니다
  • 테스트 메서드는 @Test 주석으로 시작하여 테스트할 구성요소의 단일 기능을 사용하고 확인할 코드를 첨부합니다.
	import com.google.common.truth.Truth.assertThat
    import org.junit.Test

    class EmailValidatorTest {
        @Test
        fun emailValidator_CorrectEmailSimple_ReturnsTrue() {
            assertThat(EmailValidator.isValidEmail("name@email.com")).isTrue()
        }
    }

유효성 검사

  • Truth및 android assertion
  • junit.assert
  • hamcrest matcher

Reference

profile
develop life

0개의 댓글