티스토리 뷰
안드로이드 두번째 걸음
Kotlin: 안드로이드 앱 개발 스킬업 (12. Kotlin으로 안드로이드 테스트 작성하기: JUnit, Espresso 활용)
hugoing 2024. 1. 22. 17:20728x90
반응형
SMALL
안녕하세요, 안드로이드 앱 개발자 여러분! 이번 블로그에서는 Kotlin을 사용하여 안드로이드 앱의 테스트를 작성하는 방법에 대해 자세히 알아보겠습니다. 안드로이드 앱의 테스트는 안정성을 보장하고 버그를 최소화하는 데에 큰 도움이 됩니다. JUnit과 Espresso를 활용하여 단위 테스트와 UI 테스트를 작성하는 방법에 대해 살펴보겠습니다.
1. JUnit을 사용한 단위 테스트
1.1. 의존성 추가
앱 모듈의 build.gradle 파일에 JUnit 의존성을 추가합니다.
testImplementation 'junit:junit:4.13.2' // 최신 버전으로 변경 가능
1.2. 단위 테스트 작성
// 테스트 대상 클래스
class Calculator {
fun add(a: Int, b: Int): Int {
return a + b
}
fun subtract(a: Int, b: Int): Int {
return a - b
}
}
// 테스트 클래스
import org.junit.Assert.assertEquals
import org.junit.Test
class CalculatorTest {
@Test
fun testAdd() {
val calculator = Calculator()
val result = calculator.add(3, 4)
assertEquals(7, result)
}
@Test
fun testSubtract() {
val calculator = Calculator()
val result = calculator.subtract(7, 4)
assertEquals(3, result)
}
}
2. Espresso를 사용한 UI 테스트
2.1. 의존성 추가
앱 모듈의 build.gradle 파일에 Espresso 의존성을 추가합니다.
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' // 최신 버전으로 변경 가능
2.2. UI 테스트 작성
// UI 테스트 클래스
import androidx.test.core.app.ActivityScenario
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.action.ViewActions.typeText
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers.withId
import androidx.test.espresso.matcher.ViewMatchers.withText
import org.junit.Test
class MainActivityTest {
@Test
fun testButtonClick() {
// 액티비티 시작
val scenario = ActivityScenario.launch(MainActivity::class.java)
// EditText에 텍스트 입력
onView(withId(R.id.editText)).perform(typeText("Hello"))
// Button 클릭
onView(withId(R.id.button)).perform(click())
// TextView의 텍스트 확인
onView(withId(R.id.textView)).check(matches(withText("Hello")))
}
}
3. 테스트 실행
3.1. Android Studio에서 실행
Android Studio에서는 테스트를 실행하고 결과를 확인할 수 있는 간편한 도구를 제공합니다. 테스트를 실행하려면 해당 테스트 클래스에서 마우스 오른쪽 버튼을 클릭하고 "Run ..."을 선택하면 됩니다.
3.2. Gradle로 실행
터미널이나 커맨드 프롬프트에서 다음 명령어를 사용하여 테스트를 실행할 수 있습니다.
./gradlew test # 단위 테스트 실행
./gradlew connectedAndroidTest # UI 테스트 실행
마무리
이번 블로그에서는 Kotlin을 사용하여 안드로이드 앱의 테스트를 작성하는 방법에 대해 알아보았습니다. JUnit을 이용한 단위 테스트와 Espresso를 활용한 UI 테스트를 통해 안드로이드 앱의 안정성을 확보하고 품질을 향상시킬 수 있습니다. 테스트 코드 작성은 앱의 유지보수성과 개발 생산성을 높이는 데에 중요한 역할을 합니다. 다음 글에서는 더 다양한 주제와 실전적인 코드 예시를 통해 더욱 전문적인 안드로이드 앱 개발에 도움이 되는 내용을 다뤄보겠습니다. Happy coding! Skill UP!! 🚀
728x90
반응형
LIST
'안드로이드 두번째 걸음' 카테고리의 다른 글
Kotlin: 안드로이드 앱 개발 스킬업 (14. 안드로이드 네트워킹: Retrofit으로 RESTful API 통합하기) (0) | 2024.01.24 |
---|---|
Kotlin: 안드로이드 앱 개발 스킬업 (13. 안드로이드 앱의 성능 최적화 전략) (1) | 2024.01.23 |
Kotlin: 안드로이드 앱 개발 스킬업 (11. Firebase를 활용한 안드로이드 앱 개발) (0) | 2024.01.21 |
Kotlin: 안드로이드 앱 개발 스킬업 (10. 다양한 디자인 패턴과 실전적인 디자인 팁) (0) | 2024.01.20 |
Kotlin: 안드로이드 앱 개발 스킬업 (9. 좋은 사용자 경험을 위한 안드로이드 앱 디자인 패턴) (0) | 2024.01.19 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 비동기처리
- RxJava
- 안드로이드개발
- 안드로이드
- 안드로이드 앱 개발
- 내부데이터베이스
- kotlin
- 앱개발
- 디자인패턴
- cipher
- 사이버보안
- MVVM패턴
- UI스레드
- Fragment
- 클린아키텍처
- 기초
- 안드로이드기초
- 비동기
- 코루틴
- Android
- 부동산
- RoomDatabase
- 경매
- fragment생명주기
- 코틀린
- 모듈화
- 생명주기
- coroutine
- 부동산 경매
- 안드로이드앱개발
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
글 보관함