💡우아한테크코스 활동 중에 경험한 코루틴 테스트에 대하여 기록하였습니다. RunTest?runTest는 테스트 코드를 단일 스레드에서 실행할 수 있게 해주는 함수입니다.Kotlin Coroutines Test 라이브러리에서 제공하며, 비동기 테스트 환경에서 시간을 정확하게 제어하고 예외나 지연 작업을 효과적으로 처리할 수 있습니다.runBlockingTestCoroutine 1.6 이전 버전에서 코루틴을 테스트하기 위해 사용되었지만, 1.6 이후 부터는 runBlockingTest가 Deprecated 되었기 때문에 runTest를 활용합니다.runTest를 활용할 경우 더 나은 시간 제어 및 안전성을 제공하며, 타임아웃과 시간 관련 작업의 동작을 제어할 수 있습니다.특징runTest는 기본적으로 60..
💡 코루틴 빌더에서 활용되는 코루틴 컨텍스트에 대하여 학습하였습니다.코루틴 컨텍스트코루틴 빌더의 정의를 보면 첫 번째 파라미터가 CoroutineContext임을 알 수 있습니다.fun CoroutineScope.launch( context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit): Job리시버뿐만 아니라 마지막 인자의 리시버도 CoroutineScope 타입이며, 중요한 개념으로 활용되는 CoroutineContext의 정의를 알아야 합니다 !CoroutineContext 인터페이스Corou..
💡 코루틴 라이브러리를 활용하는 kotlin.coroutines에서 사용하는 다양한 코루틴 빌더에 대하여 학습하였습니다.코루틴 빌더중단 함수는 컨티뉴에이션 객체를 다른 함수로 전달해야 합니다.즉 중단 함수 → 일반 함수 호출은 가능하지만, 일반 함수 → 중단 함수 호출은 불가능합니다.모든 중단 함수는 또 다른 중단 함수에 의해 호출되어야 하며, 이는 앞서 호출한 중단 함수 또한 마찬가지입니다.중단 함수를 연속으로 호출하면 시작되는 지점이 반드시 있습니다.코루틴 빌더(coroutine builder)가 그 역할을 하며, 일반 함수와 중단 가능한 세계를 연결시키는 다리 역할을 합니다.launchrunBlockingasynclaunch 빌더launch는 thread 함수를 호출하여 새로운 스레드를 시작하는 ..