티스토리 뷰
1. Annotation
2. Mock Object
3. Method Stub
4. Spy Object
5. Assert
6. Verify
4. Spy Object
class UnitLocalDataSourceTest {
lateinit var unitLocalDataSource: UnitLocalDataSource
val map = mutableMapOf<String, Unit<out Settings>>()
// 실제 Map 객체를 감싸 Spy 객체 생성
@SpyK
val spyMap = spyk(map)
@MockK
lateinit var unitSettings: UnitSettings
@MockK
lateinit var testUnit: Unit<UnitSettings>
@Test
fun testPutUnit() {
unitLocalDataSource.putUnit(testUnit)
verify {
// Spy 객체로 행동 검증
spyMap.put(testUnit.id.toString(), testUnit)
}
}
}
Spy 객체는 실제 객체를 감싸 지정된 메서드만 Stub하고 나머지 부분은 원래의 행동을 수행하도록 합니다.
Mock 객체는 실제 객체가 필요하지않은 반면, Spy 객체는 실제 객체를 감싸 생성합니다.
Spy 객체는 메서드를 Stub하고 행위를 검증할 수 있습니다.
'Android' 카테고리의 다른 글
[Unit Test] 유닛 테스트 Component - 6. Verify (0) | 2021.01.04 |
---|---|
[Unit Test] 유닛 테스트 Component - 5. Assert (0) | 2021.01.04 |
[Unit Test] 유닛 테스트 Component - 3. Method Stub (0) | 2021.01.04 |
[Unit Test] 유닛 테스트 Component - 2. Mock Object (0) | 2021.01.04 |
[Unit Test] 유닛 테스트 Component - 1. Annotation (0) | 2021.01.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 안드로이드 커스텀 버튼
- 안드로이드
- 테스트
- android custom button
- Unit
- unit test
- android test
- 구글
- 안드로이드 유닛 테스트
- 컴포즈 초기화
- AOS
- androud hilt
- android unit test
- 안드로이드 종속성 주입
- compose ui
- Leetcode
- 알고리즘 풀이
- 안드로이드 테스트
- 유닛 테스트
- 안드로이드 컴포즈
- 알고리즘
- ViewCompositionStrategy
- 코딩테스트
- android compose
- 유닛테스트
- 커스텀 버튼
- Android
- 안드로이드 단위 테스트
- button padding
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함