Devik0213 / memo

메모
1 stars 0 forks source link

1. 테스트 이론 #45

Open Devik0213 opened 3 years ago

Devik0213 commented 3 years ago

Test

원칙1

의존는 주입받는다.

46

의존성주입을, 자체생성으로하지말자. 아래와같이 생성자에서서 생성해서넣어라.

스크린샷 2021-06-08 오후 1 27 50

49~50

UI/View에서 데이터를 참조하지 않기위해, DI를 사용하면 좋다. Domain Layer에서의 작업을 해야한다. 테스터블하려면, 자연적으로 Clean 아키택쳐로 바뀜

51 ~ 54

Static Class (주입불가, 테스트불가)

55 : 원칙2

안드로이드의존동작은 Wrapping 한다.

58

view interface로 wrapping 해서 검증해야함. respository 도 interface로 wrapping 해야한다. SDK Method / UI / DB, API 을 이용한 비즈니스로직을 검증하는게 우리의 목적이다.

63~74. 원칙3

모든동작은 프레젠터로 통한다. 최대한 유닛테스트영역으로 가져와서 UI테스트없이 하려고한다. ex) view.onClick { viewModel.onClickLogic(data) // 이런식으로 로직은 뷰모델에서 처리되도록하자. }

Mockito.verify(view).click 되면 된다. passive View 로직은 프레젠터로 보낸다.

78

Instrument Test

Instrument 를 통해, Context 를 얻어올수있다. 즉, Activity 도 테스트할수있다.

80

안드로이드테스트를 해야하면 하는데, 가급적 유닛테스트를 활용하자. ViewModel 을 통해서 테스트하고, Model 을 테스트할수있따.

스크린샷 2021-06-08 오후 1 46 56

최대한 유닛테스트로 테스트한다. (Testable Archt)

원칙 1,2,3

  1. 의존클래스들은 주입받아야한다.
  2. 안드로이드의존동작은 Wrapping 해서사용한다.
  3. View 에서 직접 테스트하지말조, 모든 동작은 ViewModel에서 처리되도록해라.