일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Coroutine
- kotlin강좌
- 코루틴
- theming
- Compose
- 디자인패턴
- ReactiveProgramming
- 책
- 알게되는
- Kotlin
- 안드로이드스튜디오
- viewmodel
- 코틀린
- 테스트
- android
- 회고
- 글또
- 병렬프로그래밍
- Gradle
- mockito
- 안드로이드강좌
- Rxjava
- 자바
- 병럴프로그래밍
- 안드로이드
- 알고리즘
- 커스텀상태
- g 단위테스트
- 스레드
- k8s
- Today
- Total
목록분류 전체보기 (154)
선생님, 개발을 잘하고 싶어요.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IzAJq/btqDk7hDhN8/bKvr3MhbRVo330uF8eVTLK/img.jpg)
서론 요즘 한창, 습관 기록 애플리케이션 사이드 프로젝트를 진행 중입니다. 이번 프로젝트는 서버가 없는 앱을 개발해야 했는데요. 그래서 데이터 관리를 위해 Room을 사용하기로 했습니다. Room개발에 까탈스러운 점은, Database 생성에 context가 필요하다는 건데요. 그래서 적절히 개발 됬는지 확인하기 위해서 Activity에 Room 코드를 작성한다. 앱을 런치해서 해당 Activity로 이동한다. 로그를 확인하며 원하는 대로 동작하는지 확인한다. 이런 절차로 진행했습니다만 🤔 귀찮아졌습니다. 대상 Room을 처음 써보시는 분 Room을 써보긴 했지만 리팩터링에 고민이 있으신 분 AndroidTest라는 녀석을 보긴 했지만 평생 써본 적 없으신 분 이 글은 매우 Room초심자의 입장입니다만...
https://medium.com/androiddevelopers/easy-coroutines-in-android-viewmodelscope-25bffb605471 > 이 포스팅 내용이 훨씬 좋습니다. 이거 확인 고고 도입 즐겁게 Coroutine 을 적용하고, ViewModel 테스트 코드를 작성한 찰나 테스트가 실패하는 경우가 발생하니 바로, viewModel 의 viewModelScope 때문이다. viewModelScope.launch 로 코루틴 을 실행하지 않고, runBlocking 으로 테스트 쓰레드를 막으면 테스트가 원하는 대로 동작하지만, 실제로 앱을 키면 에러가 나게 된다. 해결 코루틴 테스트 지원 라이브러리를 사용한다. 1. gradle (app 단위)에 라이브러리를 추가한다. dep..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/F8eaw/btqC3rm6xdS/VtkQCHcgslNAv1aQpYeHt0/img.png)
Google Truth 에는 에러를 테스트 하는 표준적인 방법이 없더라... 그런데 junit 에도 마땅한 함수가 없는 것 같아서 이것 저것 뒤지다가 이 스택 오버플로우에서 해답을 찾았다. junit 4.13, junit 5 이상 에서만 assertThrows 라는 함수를 지원하더라. 주의 assertThrows 는 junit 4.13 이상 부터 지원하는 명령이다. (함수가 없다면, build.gradle 을 확인 해보자.)
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXTTId/btqCSXeTmc5/SuaIwUZtjnaSuEZFXGT2wK/img.png)
서론 반응형 프로그래밍에 대한 블로그 포스팅을 보고 오시는 것을 추천드립니다. 오늘은 이전 포스팅의 이론적 내용을 실제로 구현해 놓은 라이브러리, RxJava에 대해서 소개해 드리려고 합니다. TL;DR RxJava에서 데이터 스트림을 표현하는 객체는 Observable이다. RxJava에서 데이터 스트림을 읽는 것을 구독이라고 한다. onNext 에서 데이터 스트림에 흐르는 값을 처리한다. onError 에서 에러를 처리한다. 구독을 표현하는 객체는 Disposable이다. Observable ObserverPattern에서 데이터 변경을 알리는 Subject와 데이터 변경 시 발동하는 Observer에 대해서 말씀드렸습니다. RxJava에서는 이 Subject를 Observable이라고 말합니다. O..