Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- swift documentation
- 스위프트
- 리펙토링
- UITextView
- combine
- uiscrollview
- Clean Code
- Xcode
- RxCocoa
- ribs
- uitableview
- tableView
- 클린 코드
- swiftUI
- collectionview
- Observable
- HIG
- Refactoring
- UICollectionView
- Protocol
- 리펙터링
- Human interface guide
- map
- 리팩토링
- rxswift
- ios
- clean architecture
- MVVM
- SWIFT
- 애니메이션
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 1. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test) 본문
iOS 응용 (swift)
[iOS - swift] 1. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test)
jake-kim 2024. 8. 19. 01:581. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test)
2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult, junit, xml)
3. xcodebuild로 테스트 돌리기 - xcresult 파일 변환하여 분석하기 (xcrun xcresulttool, xcpretty, junit)
xcodebuild란?
- 커멘드 라인으로 build, query, analyze, test, archive할 수 있는 라이브러리
- Xcode는 GUI 방식인 반면, xcodebuild는 커멘드 라인 방식
- xcodebuild를 잘 사용하면 CI/CD에서도 빌드를 돌릴 수 있고 활용하면 프로젝트 구조 파악이 용이
xcodebuild 기능 살펴보기
- xcodebuild를 통해 Targets, Build Configuration 확인
- xcodebuild -list -project <YourApp.xcodeproj>
App% xcodebuild -list -project App.xcodeproj
Information about project "App":
Targets:
App
AppTests
AppUITests
Build Configurations:
Debug
Release
- xcodebuild를 통해 configuration 빌드
xcodebuild -target <your_target_name> -xcconfig <your_configuration_file>.xcconfig
- xcodebuild를 통해 유닛 테스트 빌드 수행방법
xcodebuild test [-workspace <your_workspace_name>]
[-project <your_project_name>]
-scheme <your_scheme_name>
-destination <destination-specifier>
[-only-testing:<test-identifier>]
[-skip-testing:<test-identifier>]
ex) 시뮬레이터 iPhone 15로 유닛 테스트 빌드 돌리기
xcodebuild test -scheme App -destination 'platform=iOS Simulator,name=iPhone 15'
- 이 밖에도 유닛 테스트를 돌릴 수 있는 옵션은 다양하게 존재
# 1.
xcodebuild test [-workspace <your_workspace_name>]
[-project <your_project_name>]
-scheme <your_scheme_name>
-destination <destination-specifier>
[-only-testing:<test-identifier>]
[-skip-testing:<test-identifier>]
# 2 .
xcodebuild build-for-testing [-workspace <your_workspace_name>]
[-project <your_project_name>]
-scheme <your_scheme_name>
-destination <destination-specifier>
# 3.
xcodebuild test-without-building [-workspace <your_workspace_name>]
[-project <your_project_name>]
-scheme <your_scheme_name>
-destination <destination-specifier>
[-only-testing:<test-identifier>]
[-skip-testing:<test-identifier>]
# 4.
xcodebuild test-without-building -xctestrun <your_xctestrun_name>.xctestrun
-destination <destination-specifier>
[-only-testing:<test-identifier>]
[-skip-testing:<test-identifier>]
- 위와 같이 xcodebuild로 유닛 테스트를 돌리고, 그 결과로 .xcresult 파일을 얻어와서 이 파일을 가지고 어떤 테스트가 실패하고 성공했는지 분석이 가능
- 이 파일이 있으면 분석도 용이하고, CI에도 활용할 수 있는데 이 부분은 다음 글에서 계속..
* 참고
- https://developer.apple.com/library/archive/technotes/tn2339/_index.html
'iOS 응용 (swift)' 카테고리의 다른 글
Comments