🤨 문제 정의
PR 머지 후 브랜치를 옮겨서 작업할 때마다 아래 오류가 발생합니다. 아주 원초적인(?) 해결 방법으로는 UnitTest Target을 삭제 후 다시 만들어주면 되긴 하지만,,, 이렇게 하는 작업이 워낙 귀찮은 일이기도 해서 트러블슈팅 해보려 합니다!
🪓 삽질 기록
1. 분명 Autocreated 된 Test Plan이 있었는데,,?
유닛 테스트가 잘 돌아갈 때만 하더라도 TestPlan을 따로 만들어주지 않아도 자동 생성되었었는데,,, 자동 생성된 UnitTest가 없어져버렸습니다. 오른쪽 패널을 보면 어딘가 분명 테스트가 남아있긴 한데 말이죠!
2. 명시적으로 Test Plan 생성해주기
Autocreated 된 TestPlan에 아무것도 안떠 있길래 상단의 `Configurations` 탭에 들어간 후 `Target for Variable Expansion`을 메인 타겟에서 UnitTest 타겟으로 바꿔줬습니다.
그랬더니 드디어 UnitTest 코드가 잡혔습니다! 아니 옆에 choose target으로 타겟 설정해주는건 아무리 해도 안먹히드만,,, 이렇게 하니 유닛 테스트도 정상적으로 동작했습니다. 명시적으로 Test Plan을 생성해주는 걸로 문제를 해결할 수 있었습니다.
++ 추가로 알게 된 사실은 TestPlan은 생성할 때의 테스트 목록이 유지되는 것이 아니라 UnitTest 타겟과 연동되어 실시간으로 업데이트 됩니다. 사실상 Autocreated로 안쓰고 진작에 Test Plan으로 사용해야 했을지도요,,?
💌 레퍼런스
Xcode does not simply run tests - no scheme and/or test plan
Objective Running simple unit-test for an iOS app. Setup Xcode (Version 14.1) Sample Test: import XCTest @testable import SDKTestAppSwift class SDKTestAppSwiftTests: XCTestCase { func testE...
stackoverflow.com
'트러블슈팅' 카테고리의 다른 글
환경 변수가 값을 못 불러오는 현상 해결하기 (0) | 2025.02.23 |
---|---|
Xcode 유닛테스트 무한 인덱싱 현상 (0) | 2025.02.19 |
SwiftUI ScrollView 리프레쉬 했을 때 화면이 멈추는 현상 해결하기 (0) | 2025.02.07 |