본문 바로가기

Test

(2)
ViewModel Testing 코드 작성하기 1. ViewModel의 역할 ViewModel은 MVVM 패턴에서 Data Source와 View를 연결하는 컴포넌트이다. ViewModel의 첫번째 목적은 Data를 꺼내서 보관하고 필요한 때에 UI에게 제공하는 기능을 담당한다. View 자체에서 데이터를 보관하면 화면회전과 같은 Configuration Change 상황에서 데이터를 관리하는데 어려움이 발생한다. 하지만 ViewModel은 Activity보다 생명주기가 더 길기 때문에 ViewModel이 홀드하고 있는 데이터는 Activty가 새롭게 그려져도 다시 사용할 수 있게 된다. 기존의 다른 패턴들과 달리 ViewModel은 View에 대한 레퍼런스를 가지고 있지 않다는 것이 또 다른 큰 특징이다. MVP 패턴에서는 View - Presen..
Room Database Testing Code 작성하기 1.What is Room? 애플리케이션에서 사용될 데이터를 Local Database에 저장할때 사용되는 라이브러리이다. 안드로이드는 기본으로 SQLite를 사용하여 Persistence data를 보관하는데, Room을 사용하면 SQLite를 쉽게 다룰 수 있다. 원시 SQL 쿼리의 사용을 지양하고 Dao라는 인터페이스를 통해 앱 내부에서 사용되는 객체를 사용하여 쉽게 데이터 입출력을 할 수 있게 도와준다. 구글에서 지원하는 Architecture Components의 핵심 라이브러리 중에 하나로 LiveData, ViewModel 등과 함께 적극적으로 사용이 권장되고 있다. Entity : 데이터 모델 클래스에 해당한다. Database 내에서 테이블이 되는 단위이다. Dao : Database A..