티스토리 뷰
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
- 컴포즈 초기화
- button padding
- androud hilt
- Android
- compose ui
- 안드로이드 커스텀 버튼
- 유닛테스트
- 안드로이드 유닛 테스트
- 안드로이드
- 테스트
- 코딩테스트
- Leetcode
- 커스텀 버튼
- AOS
- 알고리즘 풀이
- android test
- 안드로이드 종속성 주입
- 안드로이드 컴포즈
- 안드로이드 테스트
- android unit test
- Unit
- 유닛 테스트
- 구글
- unit test
- 알고리즘
- android custom button
- 안드로이드 단위 테스트
- android compose
- ViewCompositionStrategy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함