250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- drift
- Coroutines
- android
- 앱
- intent
- Flutter
- livedata
- viewmodel
- binding
- TEST
- 안드로이드
- Kotlin
- textview
- 테스트
- LifeCycle
- data
- tabbar
- Dialog
- activity
- 계측
- ScrollView
- scroll
- CustomScrollView
- DART
- Navigation
- appbar
- Compose
- 앱바
- Button
- textfield
Archives
- Today
- Total
Study Record
[Android] 계측 테스트 - Compose 본문
728x90
😶 Compose 이전 환경 설정
class TipUiTest {
@get:Rule
val composeTestRule = createComposeRule()
}
😶 UI 콘텐츠 설정
setContent 안에 UI 구성요소를 호출한다.
class TipUiTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun calculate_20_percent_tip() {
composeTestRule.setContent {
TipTimeTheme {
TipTimeLayout()
}
}
}
}
😶 특정 컴포저블 엑세스하기
onNodeWithText() 메서드로 특정 문자열이 포함된 컴포저블(ex. TextField)을 찾아 performTextInput() 메서드로 문자열을 입력한다.
class TipUiTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun calculate_20_percent_tip() {
composeTestRule.setContent {
TipTimeTheme {
TipTimeLayout()
}
}
// 특정 단어에 해당하는 컴포저블을 찾아 입력폼 입력하기
composeTestRule.onNodeWithText("Bill Amount")
.performTextInput("10")
}
}
😶 어설션
assertExists() 메서드로 해당 컴포저블을 찾을 수 있는지 없는지 테스트한다.
class TipUiTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun calculate_20_percent_tip() {
composeTestRule.setContent {
TipTimeTheme {
TipTimeLayout()
}
}
// 특정 단어에 해당하는 컴포저블 찾기
composeTestRule.onNodeWithText("Bill Amount")
.performTextInput("10")
// 해당 컴포저블을 찾을 수 없을 때 정해진 메세지가
composeTestRule.onNodeWithText("Tip Amount: ").assertExists(
"No node with this text was found."
)
}
}
728x90
'안드로이드 > compose' 카테고리의 다른 글
[Android] Compose Appbar (0) | 2023.09.04 |
---|---|
[Android] Compose 테마 (0) | 2023.09.04 |
[Android] Compose 기초 - State, MutableState, remember (0) | 2023.08.30 |
[Android] Compose 기초 (0) | 2023.08.29 |
[Android] Compose modifier(수정자) (0) | 2023.08.29 |