티스토리 뷰
1. Annotation
2. Mock Object
3. Method Stub
4. Spy Object
5. Assert
6. Verify
3. Method Stub
class UnitRepositoryImplTest {
@MockK(relaxUnitFun = true)
lateinit var unitDataSource: UnitDataSource
lateinit var unitRepository: UnitRepository
private val unitRequest = "unitId"
@Before
fun setup() {
MockKAnnotations.init(this)
unitRepository = UnitRepositoryImpl(unitServiceApi, unitDataSource, scheduler, unitMapper, errorTypeMapper)
}
@Test
fun testGetUnit_benefit_success() {
val expected = Unit()
// Mock 객체의 메서드 스텁
every { unitDataSource.getUnit(id.toString()) } returns expected
val result = unitRepository.getUnit(id.toString())
Assert.assertEquals(result, expected)
verify {unitDataSource.getUnit(id.toString()) }
}
}
Stub은 기존 코드를 흉내내거나 아직 개발되지 않은 코드를 임시로 대치하는 역할을 합니다.
Stub은 자기 자신과 매개변수를 선언하고 테스트를 위한 시나리오에서 예상되는 값을 돌려줍니다.
인터페이스의 실제 객체 대신 Mock 객체를 생성하고 메서드를 Stub하여 테스트에 필요한 시나리오를 만들어낼 수 있습니다. 이를통해 테스트 대상을 의존 없이 독립적으로 테스트할 수 있습니다
참고
android/architecture-samples/todoapp - Stub 사용 예제
'Android' 카테고리의 다른 글
[Unit Test] 유닛 테스트 Component - 5. Assert (0) | 2021.01.04 |
---|---|
[Unit Test] 유닛 테스트 Component - 4. Spy Object (0) | 2021.01.04 |
[Unit Test] 유닛 테스트 Component - 2. Mock Object (0) | 2021.01.04 |
[Unit Test] 유닛 테스트 Component - 1. Annotation (0) | 2021.01.04 |
[Unit Test] 유닛 테스트 (0) | 2021.01.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 안드로이드 종속성 주입
- 안드로이드 커스텀 버튼
- 안드로이드 단위 테스트
- Android
- 커스텀 버튼
- ViewCompositionStrategy
- android test
- android compose
- 테스트
- 알고리즘
- android custom button
- 안드로이드 테스트
- Leetcode
- 구글
- Unit
- 유닛 테스트
- androud hilt
- compose ui
- 안드로이드 컴포즈
- android unit test
- 유닛테스트
- 컴포즈 초기화
- button padding
- 안드로이드 유닛 테스트
- 알고리즘 풀이
- AOS
- unit test
- 안드로이드
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함