관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] 2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult, -resultBuindlePath) 본문

iOS 응용 (swift)

[iOS - swift] 2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult, -resultBuindlePath)

jake-kim 2024. 8. 21. 01:59

1. xcodebuild로 테스트 돌리기 - 개념 (xcodebuild, unit test, ui test)

2. xcodebuild로 테스트 돌리기 - 결과 얻어오기 (xcresult)

3. xcodebuild로 테스트 돌리기 - xcresult 파일 변환하여 분석하기 (xcrun xcresulttool, xcpretty, junit)

xcodebuild로 유닛 테스트 돌리기

  • 지난번 글에서 아래처럼 xcodebuild test [options]으로 빌드가 가능
  • 이렇게 유닛테스트를 실행하면 결과도 가져올 수 있는데, 이 결과를 통해 유닛 테스트가 잘 되었는지 분석도 가능
xcodebuild test -scheme <your_app_scheme> -destination 'platform=iOS Simulator,name=iPhone 15'

결과 가져오기 (xcresult)

  • -resultBuindlePath옵션으로 .xcresult라는 확장자 명으로 결과를 가져올 수 있음
    • -resultBundlePath 뒤에 .xcresult 파일을 저장할 경로를 지정
xcodebuild test -scheme App -destination 'platform=iOS Simulator,name=iPhone 15' -resultBundlePath ./TestResults.xcresult
  • 옵션이 많아져서 헷갈리므로 개행으로 작성
xcodebuild test \
-scheme App \
-destination 'platform=iOS Simulator,name=iPhone 15' \
-resultBundlePath ./TestResults.xcresult
  • 위 명령어 실행하면 아래 파일이 생성

  • 더블클릭해서 오픈
    • 왼쪽 탭에는 Test App, Insights, Coverage, Tests, Log, Build가 존재
    • 오른쪽에는 테스트의 개수, 시뮬레이터 정보가 표출

  • 왼쪽 탭에서 Tests항목을 클릭하면 더욱 상세하게 테스트 duration와 어떤 테스트들이 실패하고 성공했는지 확인이 가능

  • .xcresult는 Xcode에서 열어서 분석할 수 있는 도구
  • 만약 별도의 서버에서 CI에 테스트 결과를 보기 쉽게 보이도록 보여주고 분석하기 용이하게 하기 위해서는 .xcresult 파일을 시각적으로 그대로 보여줄 수 없으므로 아닌 다른 포멧이 필요
  • 이 부분은 다음 글에서 계속...

* 참고

- https://developer.apple.com/library/archive/technotes/tn2339/_index.html

Comments