Navigation

    [Compose] Navigation 정리 및 적용하기

    [Compose] Navigation 정리 및 적용하기

    Compose Navigation 정리 Navigation 구성요소 Navigation은 크게 3가지 구성요소로 이뤄진다. NavController: 대상(즉, 앱의 화면) 간 이동을 담당한다. NavGraph: 이동할 컴포저블 대상을 매핑을 담당 NavHost: NavGraph의 현재 대상을 표시하는 컨테이너 역할을 하는 컴포저블 NavController NavController는 Navigation 구성요소의 중심 API로, 스테이트풀(Stateful)이며 앱의 화면과 각 화면 상태를 구성하는 컴포저블의 백 스택을 추적한다. 컴포즈 환경에서 NavController는 rememberNavController()를 이용하여 가져올 수 있다. val navController = rememberNavCont..

    [Android/Testing] #10. Fragment Navigation Test

    [Android/Testing] #10. Fragment Navigation Test

    지난 글에서 Hilt를 사용한 프레그먼트 테스트를 위한 환경과 테스트 방법을 간단하게 알아보았다. 이번 글에서는 동일하게 프레그먼트 테스트를 진행하는데 Navigation을 사용하여 프레그먼트 간 인터렉션에 관한 테스트를 정리한다. 이번 테스트는 Unit Test가 아니라 인터렉션에 대한 테스트가 필요하기에 Integration Test로 테스트를 작성한다. 테스트 프레그먼트 네이게이션 테스트를 위한 프레그먼트는 총 3개로 구성되어 있다. MarsPhotoFragment AddMarsPhotoItemFragment ImagePickFragment 각 프레그먼트는 버튼으로 프레그먼트 간 이동 인터렉션이 발생한다. 우리가 중점적으로 테스트 하려는 부분이 이 인터렉션 부분이다. 이 글에서 Navigation,..