IOS/iOS

[iOS] Quick, Nimble Install 방법

TestCode 작성을 연습하려고 ... github Quick 에 나와있는대로 진행하려고 했는데 아무리해도 import에서 모듈을 불러오지 못해서 ...ㅠㅠ 혹시 저처럼 고생하시는 분이 있을까 해서 남겨봅니다

https://github.com/Quick/Quick

 

Quick/Quick

The Swift (and Objective-C) testing framework. Contribute to Quick/Quick development by creating an account on GitHub.

github.com

해당 사이트에서 제시하는 방법

# Podfile

use_frameworks!

target "MyApp" do
  # Normal libraries

  abstract_target 'Tests' do
    inherit! :search_paths
    target "MyAppTests"
    target "MyAppUITests"

    pod 'Quick'
    pod 'Nimble'
  end
end

다음의 코드를 붙여넣고 pod install을 하게되면 오류가나서 이리저리 찾아보다가 시도후 인스톨 완료! 까지 뜨고 코드를 치러 갔지만...

import하고 모듈을 불러올수 없는 오류가...또 한창 삽질을 하다가 메인에다가 깔아버릴까 하는 와중에 방법을 찾았습니다. 

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

def for_test
  pod 'Quick'
  pod 'Nimble'
end

target 'MyApp' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyApp
  pod 'Firebase'
  
  target 'MyAppTests' do
      inherit! :search_paths
      for_test
  end

  target 'MyAppUITests' do
    inherit! :search_paths
    for_test
  end
end

다음의 코드와 같이 def를 이용해 for_test라는 변수에 pod들을 담아줍니다. Quick, Nimble을 for_test에 담은거죠
이후에 target은 메인프로젝트 타겟을 잡고, end전에 testTarget을 두가지 넣어주고 inherit! :search_paths 다음에  pod들을 담아둔 for_test를 넣어줍니다

한가지 주의사항을 더 말씀드리자면, 테스트 파일에서 테스트 이외에 다른 타겟(예를들면 본프로젝트, 아니면 다른 테스트 타겟)을 선택하면 모듈을 불러올수 없습니다. 

위의 이미지 처럼 Quick, Nimble은 unitTest(본프로젝트) 에는 설치되지 않았기때문에 선택되어있다면 해제하셔야 합니다.