2016-12-17 6 views
1

Xcode 소스 편집기 확장 프로그램을 작성 중이므로 더 빨리 개발할 수 있도록 몇 가지 테스트를 추가하고 싶습니다.Xcode Source Editor Extension을 테스트하는 방법은 무엇입니까?

내 설정 내가 MyClass.swift을 테스트하고자하는

MyContainerApplication 
    - SourceEditorExtension 
    - SourceEditorCommand.swift 
    - MyClass.swift 

입니다. MyContainerApplication에는 SourceEditorExtension에 대한 대상 종속성이 있습니다.

그래서 MyContainerApplication을 호스트 응용 프로그램으로 설정하여 단위 테스트를 만듭니다.

@testable import MyContainerApplication 

class Test: XCTestCase { 

    func testSomething() { 

     let c = MyClass() 
    } 
} 

을하지만, 엑스 코드는 MyClass에이 그것이 HostApplication에 있지만 SourceEditorExtension에 포함되어 있지 않기 때문에, 어떤 의미를 찾을 수 없습니다 말한다 :

내 테스트에서 나는 다음 호출 할 수 있습니다. 전화 할 수도 없습니다

@testable import SourceEditorExtension 

모듈이 아니기 때문에 전화 할 수 없습니다.

XcodeKit 프레임 워크를 사용하기 때문에 MyClass.swift을 내 테스트 대상 또는 호스트 응용 프로그램 대상에 직접 추가 할 수 없습니다. 나는 오류가 발생합니다 : XcodeKit은 심지어 시험에서 SourceEditorExtension보다 다른 곳 가져올 수 없습니다처럼

XcodeKit module not found 

것 같습니다.

내 질문은 - 소스 편집기 확장을 테스트 할 수있는 다른 방법이 있습니까?

답변

0

단위 테스트 수행 방법은 여기 SwiftInitializerGenerator에서 확인할 수 있습니다. 테스트 가능한 코드는 두 대상간에 공유됩니다. 그리고 @testable 내부 테스트도 없습니다. XcodeKit의 클래스 내 의존성을 제거하십시오. 아마도 지금은 확장 테스트를위한 한 방법 일 것입니다.

관련 문제