일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- 백준
- node.js
- ios
- BOJ
- 프로그래머스
- swift
- Xcode
- 패스트캠퍼스
- reactorkit
- SnapKit
- visionOS
- Kuring
- Lv2
- Flutter
- WWDC24
- CollectionView
- TCA
- designpattern
- SwiftUI
- realm
- tableView
- MVVM
- rxcocoa
- raywenderlich
- combine
- RxSwift
- arkit
- UIKit
- XCTest
- Swfit
- Today
- Total
목록apple/XCTest (10)
lgvv98
UseCase와 Repository 테스트 목적 정리 이 포스팅은 현재 기준으로 내가 테스트 코드를 작성할 때 가지는 일종의 가이드라인. 성장하면서 바뀔 수도 있음. 글의 순서UseCase 테스트 목적Repository 테스트 목적Repository 테스트 하기SearchSubwayUseCaseTests 실패 후 로직 보완 안드로이드 공식 앱 아키텍처 가이드를 확인하면서 UseCase 영역에 해당하는 Domain이 Optional로 되어 있음을 확인할 수 있었음.개인 경험에 의하면 실제로 UseCase에서 특별한 처리 없이 사실상 래핑에만 해당하는 경우도 많긴 함. 일반적인 상황에서는 Domain Optional 이어도 나쁘지 않겠지만, 기능이 하나 둘 추가되면서 Repository가 두꺼워지고 결국은 ..
최근 Xcode 빌드 속도를 향상시키기 위한 학습을 진행하고 있습니다. 그러다가 흥미로운 글을 보아서 제가 보려고 기록으로 남깁니다. Xcode 13.3에서는 이런 것들도 있네요. https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-13_3-release-notes#Build-System Xcode 13.3 Release Notes | Apple Developer Documentation Update your apps to use new features, and test your apps against API changes. developer.apple.com 요즘 WWDC를 돌려보고 있는데, 언젠가는 애플에서 일하는 개발자가 될 수 ..
[XCode] Instruments - Network 내가 사용하는 앱이 네트워크 통신에 있어서 어떤 Request와 Response를 처리하는지 체크하기 위해서 이 방법을 사용할 수 있습니다. 1. Xcode의 좌측의 이미지에서 삼각형 버튼을 꾹 누르면 우측의 메뉴팝업이 나타나고 오른쪽 이미지와 같이 바꿔줍니다. 2. Network를 선택합니다. 3. 기록을 실행합니다. 기록하기 시작하면 위와같은 이미지가 나타납니다. 4. 내가 확인하고자 하는 부분을 선택합니다. - 이미지 좌측 상단에 List: HTTP Transaction으로 세팅한 화면입니다. 5. 응답과 결과를 확인할 수 있습니다. 직접 사용해보시면 더욱 자세한 정보를 알 수 있습니다.
## 시작 - sut (system under test): 테스트 대상 - doc (depended-on component): sut이 의존하고 있는 구성요소 테스트 더블이란, doc와 동일한 API를 제공## 왜 필요할까?Solitary or Sociable? 테스트 중인 단위가 Sociable한지 혹은 Solitary인지의 여부가 중요하다.Sociable의 경우에 테스트하는 Unit의 결함이 아닌 의존하고 있는 클래스의 결함으로 인해 테스트가 실패하는 문제가 발생할 수 있다.이러한 문제를 막기 위해 실제 동작하는 것처럼 보이는 별개의 객체를 따로 만드는 것을 고려할 수 있다. ## 테스트 더블의 종류 - Dummy: 아무런 동작을 하지 않으며, 인스턴스화 된 객체만 필요하고, 기능까지는 필요하지 않..
✅ 얼마 전 다른 회사에 다니시는 학교 선배 iOS 앱 개발자님께 앱이 몇가지 상황에서 앱이 죽어서 원인을 같이 봐줄 수 있냐고 요청 받음. 해당 이슈 같이 분석하면서 해결해보고자 함. 해당 포스팅은 Xcode 13.2.1을 기준으로 작성 ✅ 문제상황 1. 네비게이션 스택이 2개가 동시에 쌓임. 2. 스크롤을 하다가 앱이 죽거나 앱이 흰 화면이 뜨면서 초기화가 되어버림. ✅ 접근법 해당 프로젝트는 RxSwift를 사용하고 있었기에, 1번 상황을 보고 가장 먼저 생각된 원인은 "memory leak"이었다. 왜 그렇게 판단했냐면, 코드 스타일 등을 보고 이게 원인이겠다는 느낌이 있었다. 뭐 이전에 내가 RxSwfit 쓰면서 수도 없이 삽질했던 거라 그랬을수도,, ✅ Xcode Instruments 사용법 ..
XCTest에 대해서 알아보기 1편 XCTest를 공식문서를 통해 정리Nimble Quick 등도 다시볼겸 정리해보자.사이드 프로젝트에서 테스트코드 작성하면서 점차 더 다양한 테스트를 시도하고 있는데, 정리가 한번 필요할 것 같았음 유닛테스트는 여러 형태로 자주 사용하고 있고,UI테스트는 아직까지 다채롭게 사용하지는 못하는 것 같은데, 자동 완성 기능이 꽤나 쏠쏠해서 특정 플로우에 QA용으로 빠르게 작성해서 테스트 용으로 사용 중임. 퍼포먼스 테스트는 해본 적은 없지만 인스트루먼트 보면서 그냥 거기서 hang걸리거나 부족한 부분 없는지 체크중인데, 성능 최적화 부분에 대해서 컴파일러 최적화 등에 의존하지 않고, 직접 사용하고자 할 경우 특정 핫스팟을 발견해서 작성이 필요하다고는 알고 있음. ✅ 공식문..