일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 영남대
- widget
- 후기
- cs
- 1일1알골
- Swift
- 멋쟁이사자처럼
- 운영체제
- swift concurrency
- widgetkit
- dispatchqueue
- c++
- spritekit
- 위젯킷
- composable architecture
- uikit
- 문법
- 스유
- 웹
- 알고리즘
- 대외활동
- Protocol
- 네트워크
- 백준
- TCA
- 리액트
- SwiftUI
- 스위프트
- 멋사
- 컴퓨터그래픽스
- Today
- Total
목록ReactorKit (3)
맛동산이
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ckSdrh/btsL1z3VOFH/jaSnKKyKaXqXaIPrQkNXFK/img.png)
먼저 테스트 코드의 장점과 단점 이런글보다는이번글은 좀더 리액터킷의 테스트 코드를 짜기 위한 방법론에 가까운 글이다.무작정 한번 알아보자~ 테스트 코드 작성하는 방법테스트 케이스 이름 작성법test_유닛이름(구조체, 클래스 등)_유닛내부(프로퍼티, 메서드 등)_예상동작맨 앞에 test는 꼭 붙여줘야 테스트를 실행할 수 있다. 테스트 케이스 구조는 다음과 같다. 1. Given(주어진 상황)테스트 케이스에서 테스트할 상황을 설정하는 부분테스트에 필요한 초기 조건을 설정하고 입력값을 준비테스트 환경 설정 or 객체를 생성하는 등의 작업을 수행함 2. When(동작)테스트할 동작이나 메서드를 호출하는 부분테스트 대상이 되는 메서드나 특정 동작을 수행하고 그 결과를 확인 3. Then(결과 확인)테스트의 예상..
transform()transform() transforms each stream. There are three transform() functions:func transform(action: Observable) -> Observablefunc transform(mutation: Observable) -> Observablefunc transform(state: Observable) -> ObservableImplement these methods to transform and combine with other observable streams. For example, transform(mutation:) is the best place for combining a global event stream ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/V1GwI/btsCVHPfdGc/K1JtQi1FYwoLNbCRwkzk9K/img.png)
리액터킷은 Flux와 Reactive Programming의 조합으로 만든 프레임워크이다. 유저액션과, 뷰 상태는 옵저버블(rx)스트림을 통해서 각각의 레이어에 전달된다. 여기에서 중요한점! 뷰는 액션만을 방출한다. 리액터는 상태만을 방출한다. 이것을 통해서 단방향 구조를 형성한다. 리액터킷의 특징 테스터블하다 뷰에서 로직을 분리하기 때문에(리액터를 통해서) 테스터블하다. 특정뷰에서만 채택이 가능 전체 아키텍쳐를 사용하지 않고 필요한 부분만 채택가능하다는 장점 타이핑이 적다 간결하게 코딩할수있다는 장점이 있다. View 리액터킷에서 뷰는 뷰 컨트롤러이다. 역할은 다음과 같다. 유저인풋을 받아들이고 이를 액션스트림에 추가한다. view state를 각 UI component에 추가한다.(bind) 뷰는 어..