유닛테스트에 어떤 Scheduler를 사용해야하나요? MainScheduler , IoScheduler 관계없이 Schedulers.trampoline()를 사용합니다. class FetchLockScreenUnitUseCaseTest { lateinit var fetchLockScreenUnitUseCase: FetchLockScreenUnitUseCase private val scheduler = Schedulers.trampoline() @MockK(relaxUnitFun = true) lateinit var unitRepository: UnitRepository @Before fun setUp() { MockKAnnotations.init(this) fetchLockScreenUnitUseCase..
원인 로컬 유닛 테스트는 안드로이드 구성요소를 사용할 수 없습니다. 안드로이드 구성 요소인 android util Log를 찾을 수 없어 에러가 발생합니다. 해결 방법 Unit Test에 사용할 Mock Log 클래스를 생성합니다. /src/test/java/android/util 하위 경로에 아래 소스코드를 추가합니다. package android.util; public class Log { public static int d(String tag, String msg) { System.out.println("DEBUG: " + tag + ": " + msg); return 0; } public static int i(String tag, String msg) { System.out.println("IN..
1. Annotation 2. Mock Object 3. Method Stub 4. Spy Object 5. Assert 6. Verify 6. Verify class UnitLocalDataSourceTest { lateinit var unitLocalDataSource: UnitLocalDataSource val map = mutableMapOf() val testUnitId = "testId" @MockK lateinit var unitSettings: UnitSettings @MockK lateinit var testUnit: Unit @Test fun testGetUnit_found() { every { spyMap.get(testUnit.id.toString()) } returns testUn..
1. Annotation 2. Mock Object 3. Method Stub 4. Spy Object 5. Assert 6. Verify 5. Assert class UnitLocalDataSourceTest { lateinit var unitLocalDataSource: UnitLocalDataSource val map = mutableMapOf() val testUnitId = "testId" @MockK lateinit var unitSettings: UnitSettings @MockK lateinit var testUnit: Unit @Test fun testGetUnit_found() { every { spyMap.get(testUnit.id.toString()) } returns testUn..
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() // 실제 Map 객체를 감싸 Spy 객체 생성 @SpyK val spyMap = spyk(map) @MockK lateinit var unitSettings: UnitSettings @MockK lateinit var testUnit: Unit @Test fun testPutUnit() { unitLocalDataSource.putUnit(tes..
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, sched..
1. Annotation 2. Mock Object 3. Method Stub 4. Spy Object 5. Assert 6. Verify 2. Mock Object class UnitRepositoryImplTest { // Mock 객체 선언 @MockK(relaxUnitFun = true) lateinit var unitDataSource: UnitDataSource lateinit var unitRepository: UnitRepository private val unitRequest = "unitId" @Before fun setup() { MockKAnnotations.init(this) unitRepository = UnitRepositoryImpl(unitServiceApi, unitDat..
1. Annotation 2. Mock Object 3. Method Stub 4. Spy Object 5. Assert 6. Verify 1. Annotation public class Test { @Before public void setUp() { MockitoAnnotations.initMocks(this); when(adRepository.getAd()).thenReturn(ad); } @Test public void testGetAd_Success() { val actual = getAdUseCase.execute(adId) verify(adRepository).getAd(adId); } } @Before 테스트를 작성할 때, 테스트 실행 이전에 공통적으로 필요한 객체를 미리 생성하는 것이 일..
- Total
- Today
- Yesterday
- 컴포즈 초기화
- android test
- 안드로이드 종속성 주입
- 안드로이드 테스트
- Leetcode
- androud hilt
- 커스텀 버튼
- 안드로이드 유닛 테스트
- 알고리즘 풀이
- 안드로이드 커스텀 버튼
- 알고리즘
- 유닛테스트
- compose ui
- 안드로이드
- Android
- android unit test
- 테스트
- android custom button
- unit test
- AOS
- Unit
- 안드로이드 단위 테스트
- 코딩테스트
- button padding
- ViewCompositionStrategy
- 안드로이드 컴포즈
- 유닛 테스트
- android compose
- 구글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |