์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- CollectionView
- UIKit
- Lv2
- node.js
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฐฑ์ค
- Kuring
- realm
- SwiftUI
- MVVM
- BOJ
- BFS
- ios
- reactorkit
- TCA
- rxcocoa
- Swfit
- swift
- Xcode
- combine
- SnapKit
- Flutter
- tableView
- visionOS
- arkit
- RxSwift
- ํจ์คํธ์บ ํผ์ค
- XCTest
- raywenderlich
- designpattern
- Today
- Total
๋ชฉ๋กapple/๐ฝ XCTest (9)
lgvv98
์ต๊ทผ 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๋ฅผ ๊ณต์๋ฌธ์๋ฅผ ํตํด ์ ๋ฆฌํด๋ณด์. ํ ์คํธ ์ฝ๋๋ ๊ธฐ์กด์๋ ์์์์ ์์ฑํ๊ณ ์์์ง๋ง, ์ด๋ ๊ฒ ์ ๋ฆฌํ๋๊ฑด ์ด๋ฒ์ด ์ฒ์์ด๋ค. Kuring ํ๋ก์ ํธ๊ฐ ์์ ํ ๋๊ณ , ๋ค๋ฅธ ํ๋ก์ ํธ์์๋ ํ ์คํธ์ฝ๋ ์์ฑ์ ์ค์๊ฐ ์๊ธด ํ์ง๋ง ์ ์ฐจ ์์ ๋กญ๊ฒ ์ ์ฉํ๊ณ ์๋ค. ๊ทธ๋ฌ๋ ์ค PM์ผ๋ก ์ผ์ ํ๋ฉด์ ๋ฑ ํฌ์๋ฌ๋์ ๋ํด์ ์กฐ์ฌํ๋๋ฐ, ๊ธฐ์ ๋ธ๋ก๊ทธ์์ ๋ณธ ํ ์คํธ ์ฝ๋ ๋ด์ฉ์ด ํ์ต ์์ง๋ฅผ ๐ฅ๋ถํ์ ๋ค. > ์ด ํฌ์คํ ์ ๊ถ๊ทน์ ์ธ ๋ชฉํ๋ ๋ฑ ํฌ์๋ฌ๋ ๊ธฐ์ ๋ธ๋ก๊ทธ์์ ๋์์๋ ํ ์คํธ ์์ฑ๋ฒ์ ์๋ฒฝํ๊ฒ ์ต๋ํ๋ ๊ฒ์ด๋ค!! NOTE: - ํด๋น ํฌ์คํ ์์๋ ๊ทธ๋์ ์์ฃผ ..
Stubber ์ด๋ฒ ํ๋ก์ ํธ์์ Stubber๋ฅผ ์ฌ์ฉํ์๋๋ฐ, ์???? devxoul๋์ด ๋ง๋์ จ๊ตฌ๋ Carte, Then, Stubber๊น์ง ๋ฒ์จ ์ธ๊ฐ๋ !! ๋๋ ์ด๋ฐ ๊ฐ๋ฐ์๊ฐ ๋์ด์ผ์ง https://github.com/devxoul/Stubber GitHub - devxoul/Stubber: A minimal method stub for Swift A minimal method stub for Swift. Contribute to devxoul/Stubber development by creating an account on GitHub. github.com โ Stubber ๋ด๊ฐ Stubber๋ฅผ ์ฌ์ฉํ ๋ชฉ์ ์ ์์ ํ๋ก์ ํธ์์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ ๋คํธ์ํฌ๋ฅผ ๋ค๊ณ ์์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์๋๋ฐ,..