본문 바로가기
프로그래밍/Swift

Xcode UnitTest 'No such module '모듈명' 오류 대처 방안

by Mr-후 2023. 3. 17.
반응형

새삼스럽게도 이제와서 Unit Test란걸 해본다. 
TDD에 대해서는 익히 들어서 알고는 있지만, 막상 프로젝트를 진행하는 시점에서는 잘 사용하지 않았다. 
그도 그럴 것이 한시적인 SI프로젝트에서 TDD 까지하면서 개발하는 사람을 본 적이 없다. 그런데 왜 하려고 하냐? 
여러 개발 패턴을 적용하는 주요 목적이 코드 재사용성, 손쉬운 테스트, 결합도를 낮출 수 있다는 목적을 가지고 있기에 MVVP, MVP를 적용하고 각 모듈에 대한 검증(테스트)를 진행해보고자 XCTest를 돌려보려고 하는데 처음부터 난관에 부딪혔다. 

프로젝트의 프로덕트명을 변경했더니 제목과 같은 오류가 발생되었다. 

방안) 프로젝트의 Build Setting > Product Module Name란을 검색해서 찾아보면 나오는 이름으로 임포트를 하면 문제가 사라지는 경우가 있다. 

@testable import 모듈명

그리고 다른 분이 알려준 내용에 보면 Build Setting > Enable Testing Search Paths 의 값을 Yes로 지정하면 수동으로 다시 설정을 할 수 있다고 하니 참고. 

자 그럼, 테스트를 진행해보자 라며 시도했지만 다음 오류를 만났다. 

Could not find test host for 모듈명 

이 오류는 프로젝트를 선택한 다음, General 탭 아래 Targets에서 ...Tests 타겟을 선택한 다음, 우측의 Testing 항목에서 Host Application을 선택해주면 된다. 나의 경우 iPad용 타겟과 Mac용 타겟이 두개 있어, 아마도 오류가 난 것 같고, 일반적으로는 하나의 타겟만 있다면 오류가 나지 않을 것 같다. 

테스트가 무사히 잘 되었다.

 

 

반응형