스팀 앱 개발기 #96 - RxJava를 코루틴으로 대체 후 테스트 코드 수정
시작하며...
RxJava를 코루틴으로 대체한 후, 테스트 코드들도 수정해야 합니다. 방금 작업을 마치고 commit을 GitHub에 올렸어요. 작업 내용을 아래와 같이 정리해 둡니다. 다음 진도를 향해 Go Go~!!
작업 내용
- dorian-steem-test 모듈 추가
- 각 모듈의 테스트 코드에서 공통적으로 사용할 클래스들을 정의할 예정
- dorian-steem-ui 모듈에 정의했던 CommonPartOfViewModelTest 클래스를 이 모듈로 이동
- dorian-steem-data 모듈
- build.gradle
- dorian-steem-test 모듈 참조
- 코루틴 적용 코드 테스트를 위해 필요한 라이브러리 추가
- androidx.arch.core:core-testing:2.1.0
- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4
- RxJava 사용했던 코드를 코루틴으로 대체
- 대상 테스트 클래스
- SteemRepositoryImplTest
- SteemServiceTest
- ReadRankedPostsUseCaseTest
- ReadSteemitWalletUseCaseTest
- 대상 테스트 클래스
- build.gradle
GitHub Commit
다음 작업은...
TagsFragment 프래그먼트로부터 이어지는 액티비티들이 있습니다. 이들의 구조도 개선할 예정입니다.
지난 스팀 앱 개발기
- #95 - 지갑 화면 구조 개선
- #94 - 태그 화면 구조 개선
- #93 - 보팅 리스트 화면에서 프로필 이미지 클릭 기능 구현
- #92 - 태그 화면이 포스트 리스트 로딩 중에 다른 탭 클릭하면 앱이 죽는 문제 (2) 해결 방법
- #91 - 태그 화면이 포스트 리스트 로딩 중에 다른 탭 클릭하면 앱이 죽는 문제 (1) 오류 내용, 원인
- #90 - 태그 화면에서 이미지가 뭉개지는 문제
- #89 - 태그 화면에서 다운보팅 카운트 클릭하면 앱이 죽는 문제
- #88 - 보팅 리스트 화면에 스팀잇 계정 검색 기능 추가
- #87 - 보팅 리스트 화면 개선: (1) 다운보팅도 보여주기 (2) 계정 썸네일 로딩 속도 개선
- #86 - 보팅 리스트 관련 데이터 클래스 보완
- #85 - 보팅 리스트 화면 구현
- #84 - 보팅 리스트 화면 구현을 위한 데이터 클래스 추가/변경
- #83 - 포스트의 보팅 리스트에서 각 보팅의 가치 계산 방법 정리
- #82 - 포스트의 보팅 리스트에서 각 보팅의 가치는 어떻게 계산해야 하나?
- #81 - 보팅 리스트 화면 개발 예정
- #80 - 버그 수정: 태그 화면 시작시 bridge.get_ranked_posts API가 여러 번 실행되는 문제
- #79 - 태그 화면에 새로 고침 기능 추가
- #78 - 태그 화면에서 포스트들의 디폴트 썸네일 변경
- #77 - 태그 화면에서 썸네일 없는 포스트 항목에 엉뚱한 썸네일이 보이는 오류
- #76 - 태그 검색시 앱이 죽는 버그 수정
- #75 - 태그 화면의 포스트 항목에 태그/커뮤니티 표시
- #74 - 태그 화면에서 포스트 리스트 추가 로딩시 깜빡임 문제 해결
- #73 - 태그 화면의 포스트 리스트에 무한 스크롤 적용
- #72 - 태그 화면의 포스트 리스트에서 항목들 사이 분리선 보이기
- #71 - 태그 화면에서 포스트 항목들의 썸네일 로딩
- #70 - 태그 화면 1차 구현
- #69 - 태그 화면에 데이터 바인딩 적용
- #68 - 태그 화면(TagsFragment) 구성
- #67 - TagsViewModel 클래스에 포스트 리스트 구하는 메소드 그리고 라이브 데이터 추가
- #66 - bridge.get_ranked_posts API 연동 구현: ReadRankedPostsUseCase 클래스 추가
- #65 - bridge.get_ranked_posts API 연동 구현: SteemRepository 인터페이스, SteemRepositoryImpl 클래스 수정
- #64 - bridge.get_ranked_posts API 연동 구현: SteemService 인터페이스에 메소드 추가
- #63 - bridge.get_ranked_posts API 관련 데이터 클래스 추가 수정
- #62 - bridge.get_ranked_posts API의 응답 자료를 맡을 데이터 클래스 수정
- #61 - layout_post_item.xml 수정 후 예상치 못한 빌드 오류
- #60 - bridge.get_ranked_posts API의 응답 자료를 맡을 데이터 클래스 정의
- #59 - 태그별 포스트 리스트를 구하기 위한 bridge.get_ranked_posts API
- #58 - 포스트 리스트를 구성할 항목의 레이아웃 (3) 데이터 클래스 정의 및 데이터 바인딩 적용
- #57 - 포스트 리스트를 구성할 항목의 레이아웃 (2)
- #56 - 포스트 리스트를 구성할 항목의 레이아웃
- #55 - .gitignore 파일 작성
- #54 - RxJava 관련 메모리 누수 방지 코드 작성
- #53 - 버그 수정: 인터넷 미연결시 API 실행하면 앱 강제 종료
- #52 - 인터넷 미연결시 API 실행하면 어떻게 될까?
- #51 - 파워다운 끝났으나 SP to power down 값이 0이 아닌 버그
- #1 ~ #50
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Upvoted! Thank you for supporting witness @jswit.
화이팅입니다~~
감사합니다. 다시 달려 봐야죠.
어우 파이팅입니다
감사합니다. 앞으로 열심히!
봐도 뭔지 모르지만 스팀앱 개발이라니~ 응원합니다! ^^
감사합니다. 개발 과정을 포스트로 작성하는 거라고 보시면 됩니다.
스팀어플을 개발중이셨다니 'ㅁ';;;;;;;
정훈님 아니었으면 전혀 모를 뻔 했네요 ㅎㅎ
꼭 멋지게 잘 만들어주세요!! >_<) b 퐛팅퐛팅!!
감사합니다. 편의상 스팀 앱 개발이라고 적는데, 거창하게 보였나봐요. 사용 가능하게끔 만들어 보려 합니다.
안녕하세요! 처음 뵙겠습니다.
저도 iOS 스팀잇 애플리케이션을 개발하고 있는데 다른 분도 비슷한 프로젝트를 하신다는 것에 정말 놀랐습니다!!
비록 저는 지금은 쉬어가고 있지만 나중에 이 포스팅들이 애플리케이션 개발에 큰 도움이 될 거 같습니다. 좋은 포스팅 정말로 감사합니다!!
감사합니다. 원래는 개발 과정을 디테일하게 적어보고 싶었지만, 시간이 충분치 않다 보니 요새는 개략적으로 적게 되네요. 그렇더라도 개발 과정은 꾸준히 작성해보고자 합니다.