์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Swfit
- Xcode
- designpattern
- node.js
- ๋ฐฑ์ค
- arkit
- swift
- tableView
- SnapKit
- realm
- Kuring
- MVVM
- Lv2
- TCA
- reactorkit
- UIKit
- Flutter
- ํจ์คํธ์บ ํผ์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- RxSwift
- CollectionView
- raywenderlich
- XCTest
- ios
- visionOS
- SwiftUI
- BOJ
- rxcocoa
- BFS
- combine
- Today
- Total
๋ชฉ๋กXCTest (7)
lgvv98
## ์์ - sut (system under test): ํ ์คํธ ๋์ - doc (depended-on component): sut์ด ์์กดํ๊ณ ์๋ ๊ตฌ์ฑ์์ ํ ์คํธ ๋๋ธ์ด๋, doc์ ๋์ผํ API๋ฅผ ์ ๊ณต ## ์ ํ์ํ ๊น? Solitary or Sociable? ํ ์คํธ ์ค์ธ ๋จ์๊ฐ Sociableํ์ง ํน์ Solitary์ธ์ง์ ์ฌ๋ถ๊ฐ ์ค์ํ๋ค. Sociable์ ๊ฒฝ์ฐ์ ํ ์คํธํ๋ Unit์ ๊ฒฐํจ์ด ์๋ ์์กดํ๊ณ ์๋ ํด๋์ค์ ๊ฒฐํจ์ผ๋ก ์ธํด ํ ์คํธ๊ฐ ์คํจํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ง๊ธฐ ์ํด ์ค์ ๋์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๋ณ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ก ๋ง๋๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์๋ค. ## ํ ์คํธ ๋๋ธ์ ์ข ๋ฅ - Dummy: ์๋ฌด๋ฐ ๋์์ ํ์ง ์์ผ๋ฉฐ, ์ธ์คํด์คํ ๋ ๊ฐ์ฒด๋ง ํ์ํ๊ณ , ๊ธฐ๋ฅ๊น์ง๋ ํ์ํ..
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๋ฅผ ์ฌ์ฉํ ๋ชฉ์ ์ ์์ ํ๋ก์ ํธ์์ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ ๋คํธ์ํฌ๋ฅผ ๋ค๊ณ ์์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์๋๋ฐ,..
RxTest / RxBlocking โ ํ ์คํธ์ ๋ํด์ ์์๋ณด์. Rx... ์๋ด ๋๋์ฒด ์ด๋ป๊ฒ ํ ์คํธํ ๊น ๊ณ ๋ฏผ ๋ง์ด ํ์๋๋ฐ, ์ด๋ฐ ๋๊ตฌ๋ค์ด ์๋ค๋! ์ฌ๋ด์ด์ง๋ง ์ด๋ฐ๊ฑฐ Kuringํ๋ก์ ํธ ํ์๋ ๋ถ์ ํ ์คํธ์ฝ๋ ๋ณด๋๋ฐ ์ฝ๊ฐ ์น์;; Swift์์ ์ ๊ณตํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ๋๋ฐ ๊ตณ์ด Rx๋ฅผ ํ๋๊ฒ ๋์์ด ํด๊น?? ์๊ฐ๋ ๋ค์ง๋ง ์๋ฌดํผ ๊ณต๋ถํด๋ณด์ (UIButton์ rx.tap ๋ชป์ด๋ค๊ณ ์๊ฐํ๋ ๊ณต๋ถํด์ผ๊ฒ ใท.ใ ) ๐ RxTest๋? Observable์ ๊ฐ์์ ์๊ฐ ๊ฐ๋ ์ ์ฃผ์ ํด์ ํ ์คํธํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์์ ์๊ฐ์ด ๋ค ํ๋ฅผ๋๊น์ง ๊ธฐ๋ค๋ฆฐ ํ์ ์ด๋ฒคํธ๋ฅผ ๋ฐํํ ์ ์์ด. ๊ฐ ์ด์ ๋ฌธ์ํ๋ ๋ฐฉ์ถํ๋ค๊ณ ๊ฐ์ 1์ด -> "A" 2์ด -> "B" 3์ด -> "C" // 2sec์ B๊ฐ ๋์๋์ง ๊ฒ์ฆ โ R..
Quick / Nimble โ Quick / Nimble์ ๋ํด์ ์์๋ณด์. ์ด๋ฒ์ XCTest๋ฅผ ๊ณต๋ถํ๋ค๊ฐ Quick๊ณผ Nimble์ด๋ผ๋๊ฒ ์์ด์ ํ๋ฒ ๋ค์ ๊ณต๋ถํด๋ณด๋๋ก ํ์. https://github.com/Quick/Nimble GitHub - Quick/Nimble: A Matcher Framework for Swift and Objective-C A Matcher Framework for Swift and Objective-C. Contribute to Quick/Nimble development by creating an account on GitHub. github.com https://github.com/Quick/Quick/tree/main/Documentation/ko-kr GitHu..
โ ์๋ฌ์ ๋ํด์ ์์๋ณด์. ๐ Library not loaded: @rpath/XCTest.framework/XCTest Xcode ํ์ผ์ ๋ง๋ค ๋, test๋ฅผ includeํ์ง ์๊ณ ๋ง๋ค์๋ค๊ฐ ์ดํ์ ํ ์คํธ๋ฅผ ํด์ผํด์ ํ ์คํธ ์ฝ๋ ํ์ผ์ ๋ง๋ค๊ณ ๋๋ฆฌ๋๋ฐ, ์ฑ์ด ์ฃฝ์ด๋ฒ๋ฆฌ๋ ์ํฉ์ด ๋ฐ์. ๊ทธ๋์ ๋ก๊ทธ ํ์ด ๋ณด๋๊น ์ ๋ฐ ์๋ฌ๋ผ ์ด๋ป๊ฒ ํ ๊น ์ฐพ์๋ด. โ [ํด๊ฒฐ๋ฒ] ๊ฒฐ๊ตญ์ ๊ธฐ์กด ํ๋ก์ ํธ์ ํ ์คํธ ์ฝ๋ ์์ฑ์ ์ํ ํ์ผ์ ๋ง๋ค์ด์ผ ํ๋๋ฐ ์๋์ ์ฌ์ง์ฒ๋ผ ์ ๋ฒํผ์ ํด๋ฆญํ๊ณ ์ ๊ธฐ ํ๋จ์ ํ๋ฌ์ค ๋ชจ์์ ํด๋ฆญ ๊ทธ๋ผ ๊ทธ ํ๋ฌ์ค ๋ชจ์์ ๋ง ์ด๋ ๊ฒ ๋ฐํ ๋ฐ, ์ฌ๊ธฐ์ Unit Test ๋ UI Test๋ฅผ ์ ํํ ์ ์์ Target์ด๋ผ๊ณ ์จ์ ธ์๋ ํ์ผ ์ ํํ๊ณ ๋ด ํ๋ก์ ํธ ํ์ผ์ ๋ณด๋ฉด ํ ์คํธ ํ์ผ์ด ๋ง๋ค์ด์ง ๊ฒ์ ํ์ธํ ์ ..