본문 바로가기
Xcode/Swift - PlayGround

PlayGround) Framework UnitTest 생성 해보기

by 후르륵짭짭 2022. 12. 17.
728x90
반응형

회사 복후비로 사먹은 마카롱

안녕하세요. 후르륵짭짭입니다.

요즘에 Framework 작업에 대한 글을 많이 적고 있네요.

그만큼 모듈화 작업에 열정이 들어가 있나봅니다 ㅋㅋㅋㅋ.

 

** Framework Unit Test with HostApp ** 

이전에 이것에 대해 StackOverFlow에 질문 글을 올린 적이 있습니다.

https://stackoverflow.com/questions/74545098/framework-unit-test-produced-the-following-errors-library-not-loaded-rpath

 

Framework Unit Test produced the following errors ( library not loaded @rpath.... )

We are developing unit tests for a framework that has dependencies on the 3rd party universal framework (3rd party is not Pod Framework, Other Team send to me). A 3rd party framework is a dynamic

stackoverflow.com

( 예 ㅋㅋㅋ 그렇습니다. 역시 답변은 없습니다 )

사실 외부 API 의존성이 없는 Framework라면 Unit Test를 개발하는데 문제가 없을 겁니다.

하지만 대규모 APP을 개발한다면 3rd Party에 의존성을 가진 Framework를 개발하게 됩니다.

( 나중에 Unit Test 방법도 작성해봐야하는데,,,, 쉽지않네용 ㅠㅠ )

 

일반적으로 Framework에 UnitTest를 사용하기 위해서는 HostApp을 같이 만들어 줍니다.

Framework 프로젝트에 HostApp을 생성해줍니다.

만약에 Cocoapod을 사용하고 있다면!

위와 같이 Shared_pods 함수 안에 원하는 라이브러리를 담고 Target에 추가해줍니다.

그리고 나서 HostApp에 개인적인 3rd Party Framework를 추가 하고

Framework 루가

search Path를 Host App과 UnitTest Target 모두 설정 해줍니다.

search Path 설정

 

이제 Unit Test Target에 Testing 부분에 Host Application을 우리가 생성한 Host App에 추가해줍니다.

Host Application에 추가해줍니다.

이제 Unit Test를 실행하면 정상적으로 Unit Test를 위해 만든 HostApp이 생성이 되고 정상적으로 테스팅이 될 겁니다.

Unit Test App이 생성되고 테스팅이 된다.

 

** 참고 사이트 **

KeyChain을 Unit Test 하는 방법 

https://medium.com/@ryuichi/setup-host-app-for-keychain-tests-in-xcode-8-97222611917e#.z3zpqwnzt

 

Setup Host App for Keychain Tests in Xcode 8

When it comes to test keychain stuff in Xcode 8 / iOS 10, 💥

medium.com

 

Dummy App for Test

https://stackoverflow.com/questions/42423941/how-to-take-ios-framework-testing-target-and-run-it-in-a-dummy-app

 

How to take iOS Framework testing target and run it in a dummy app?

So I am running into an issue where my Framework needs access to the KeyChain. That's fine, but it seems to fail when running in the simulator. Digging around it seems to be a known issue that xctest

stackoverflow.com

 

하나의 프로젝트에 여러 프레임워크 설정 

https://ios-development.tistory.com/217

 

[Xcode] 하나의 프로젝트에 여러 프레임워크 설정, 프로젝트 파일 구성 (Main / Domain / CommonExtension / P

하나의 Project에 프레임워크와 pods추가 방법 구성: 메인 앱은 MyApp이고 나머지는 framework로 추가 MyApp.xcworkspace를 만들고, 하위에 MyApp.xcodeproj파일, Domain프레임워크, pods프레임워크 추가 프로젝트의

ios-development.tistory.com

 

CocoaPod Pod 공부 

https://ios-development.tistory.com/218

 

[Cocoa pod 세팅] 여러개의 프레임워크에 cocoa pod 의존성 관리 (target, do, def)

여러개의 프레임워크로 나누기 프로젝트 하나에 여러개의 framework 삽입 방법은 여기 참고 sample) 메인앱: MainProj.xcodeproj 서브앱: SubProj1.xcodeproj 여러개의 pod 의존성 설정 MainProj.xcworkspace파일을 열

ios-development.tistory.com

 

728x90
반응형

댓글