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 테스트를 작성할 때, 테스트 실행 이전에 공통적으로 필요한 객체를 미리 생성하는 것이 일..
유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차다. 즉, 모든 함수와 메서드에 대한 테스트 케이스(Test case)를 작성하는 절차를 말한다. 이를 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 해준다. 유닛 테스트의 목적은 프로그램의 각 부분을 고립 시켜서 각각의 부분이 정확하게 동작하는지 확인하는 것이다. 즉, 프로그램을 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하고 이를 통해 문제 발생 시 정확하게 어느 부분이 잘못되었는지를 재빨리 확인할 수 있게 해 준다. 따라서 프로그램의 안정성이 높아진다. Wikipedia - Unit Test Why Unit ..
이상하다! 분명 개발할 때 앱에 딥링크를 설정하였고, 잘 열리는 것을 확인하였는데 웹 브라우저에 딥링크 URL을 입력하여 앱을 실행하려니까 실행이 안된다! 뭔가 잘못한 것이 있는 것인가... 이미 배포는 되었는데... 등골이 오싹해진다 급한대로 adb를 사용하여 딥링크를 테스트해보자... ./adb shell am start -d myApp://main 딥링크가 잘 동작한다! 음..! 브라우저에서는 왜 동작하지않는 것일까...! 결론부터 얘기하자면, 웹 브라우저에 딥링크를 바로 입력하여 앱을 실행 시킬 수 없으며, HTML 태그를 사용하여 실행시켜야한다. Web Browser에서 DeepLink로 앱 실행하기 1. 링크 설정 앱에 설정한 딥 링크는 아래와 같은 포맷으로 되어있을 것이다. :// ex) m..
- Total
- Today
- Yesterday
- 안드로이드 테스트
- AOS
- 유닛테스트
- 코딩테스트
- 유닛 테스트
- compose ui
- button padding
- 구글
- android custom button
- android test
- 안드로이드 컴포즈
- 안드로이드 단위 테스트
- androud hilt
- unit test
- 테스트
- Android
- 안드로이드
- 안드로이드 유닛 테스트
- 커스텀 버튼
- 안드로이드 종속성 주입
- Leetcode
- Unit
- android compose
- 안드로이드 커스텀 버튼
- 알고리즘
- ViewCompositionStrategy
- 컴포즈 초기화
- android 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 |