'iOS Test Driven Development by Tutorials' 라는 책으로 스터디를 진행하면서, 샘플프로젝트에 있는 참고할 만한 코드와 테스트 코드를 저의 SPM으로 옮겨오려고 합니다. 개인프로젝트할때 SPM을 써서 더 효율적이고 편하게 개발하기 위함입니다. 이 포스팅은 그 중, extension 관련 코드를 다루고 있습니다. 폴더 구조, 파일 이름, 코드의 출처는 모두 🍑raywenderlich🍑 님이심을 밝힙니다 (저는 테스트코드만 조금씩 바꿨을뿐...!) [1] UITableViewCell + Identifier 첫 extension의 주인공은 UITableviewCell의 identifier입니다...! 1.1 코드작성 Extensions > Identifiers 밑에 다음과 같은 ..
🎅 간단 요약 🎄 [1] 깃헙에 레포지토리를 하나 만듭니다 [2] 소스트리에 클론해줍니다 [3] 해당 폴더에 들어가서 SPM을 만들어줍니다. 명렁어: swift package init [4] 빌드가 잘 되는 지 확인합니다 명령어: swift build [5] 테스트를 잘 돌리는 지 확인합니다 명령어: swift test [6] 프로젝트를 만들어줍니다 명령어: swift package generate-xcodeproj 그리고 프로젝트가 잘 열리는 지 열어봅니다 명령어: xed . (현재 폴더에 있는 프로젝트를 열어주는 명령어입니다) 이렇게 잘 열렸습니다. 예전에는 이렇게 구성되어있었는데, 이렇게 프로젝트가 생겼습니다. [7] (옵션) dependencies를 설정해줍니다 현재 Package.swift에 가..
Cocoapod 라이브러리 만들어보기 포스팅을 쓰면서, SPM으로도 이 라이브러리를 import하는 방법을 찾아보고 싶었는데, 기록합니다. ⚠️ 이 포스팅은 저의 의식의 흐름(?) 순서대로 구성되어있으므로 깔끔한 순서를 보고 싶으신 분은 Supporting Swift Package Manager in your Pod in 5 simple steps 이 글을 참조하세요!_! ⚠️ [1] 나의 라이브러리 폴더에 들어가서 밑의 명령어를 칩니다. swift package init 그러면 이렇게 Package.swift 등등의 파일을 만들어줍니다. 이 변경사항을 커밋해줍니다. [2] 나의 라이브러리를 올려둔 깃헙에 들어가서 새로운 릴리즈 버전을 만들어줍니다. 0.1.0 에서 0.1.1로 Latest Release..
XCTUnwrap 은 말그대로 테스트에서 언래핑을 해야하는 상황에서 쓰는 언래핑함수이다. 나는 테스트에서는 그냥 느낌표로 강제 언래핑을 해주는데, TDD 스터디하는 책에서는 이 함수를 이용하여 언래핑을 해주는 것을 보았다. 그래서 두 방식이 무엇이 다른지 기록한다. 값이 nil이 상황에서 강제언래핑을 하면 Fatal error가 난다. => 테스트 실패로 표시안됨. XCTUnwrap으로 언래핑을 해주면 해당 라인에서 테스트 실패가 난다. => 테스트 실패로 표시됨.
XCTAssert에는 line 파라미터가 있습니다. (XCTAssert의 친구들인 XCTAssertEqual과 XCTAssertTrue 등등 에도 있습니다.) failure이 일어난 라인을 넘겨주면, 해당 라인에서 실패했다는 표시를 띄워줍니다. 이게 언제 쓰이냐면....!!!! Assert문을 하나의 함수로 빼서 여러 테스트 함수에서 사용할때 유용하게 쓰입니다 [1] line을 넘겨주지 않았을때 이 상태에서 testSecondText를 돌려보면 딱 Assert함수에서 실패메세지가 뜹니다 그리고 testFirstText를 돌려보면 딱 Assert함수에서 실패메세지가 뜹니다 [2] line을 넘겨줄 때 testSecondText를 돌려보면 실패한 해당 테스트안에서 실패메세지가 표시됩니다 testFirstTe..
- Total
- Today
- Yesterday
- Flutter 로딩
- flutter 앱 출시
- 장고 Custom Management Command
- Flutter getter setter
- flutter deep link
- ribs
- Dart Factory
- Watch App for iOS App vs Watch App
- METAL
- flutter build mode
- SerializerMethodField
- PencilKit
- 플러터 얼럿
- 플러터 싱글톤
- github actions
- ipad multitasking
- Python Type Hint
- Django Heroku Scheduler
- drf custom error
- Flutter Text Gradient
- DRF APIException
- flutter dynamic link
- Sketch 누끼
- Flutter Spacer
- Django FCM
- 장고 URL querystring
- cocoapod
- Django Firebase Cloud Messaging
- 구글 Geocoding API
- Flutter Clipboard
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |