2016-12-17 9 views
1

私はXCodeソースエディタエクステンションを作成しています。私はより速く開発できるようにいくつかのテストを追加したいと思います。Xcodeソースエディタ拡張機能をテストするには?

私のセットアップは、私はMyClass.swiftをテストしたいと思います

MyContainerApplication 
    - SourceEditorExtension 
    - SourceEditorCommand.swift 
    - MyClass.swift 

です。 MyContainerApplicationは、SourceEditorExtensionに対するターゲット依存関係を持ちます。

MyContainerApplicationをホストアプリケーションとして設定してユニットテストを作成します。私はそれから呼び出すことができます私のテストで

@testable import MyContainerApplication 

class Test: XCTestCase { 

    func testSomething() { 

     let c = MyClass() 
    } 
} 

しかし、XcodeはMyClassのは、それがHostApplicationではなくSourceEditorExtensionに含まれていないので、理にかなっている、見つけることができないと言います。私も電話することはできません

@testable import SourceEditorExtension 

これはモジュールではないためです。

XcodeKitフレームワークを使用しているため、MyClass.swiftをテストターゲットまたはホストアプリケーションターゲットに直接追加できません。私は、エラーが発生します。

XcodeKit module not found 

XcodeKitがいなくてもテストでは、他のどこよりもSourceEditorExtensionインポートすることはできませんように見えます。

私の質問は、ソースエディタ拡張機能をテストする別の方法があるのですか?

答えて

0

ここでユニットテストの実施方法を確認できますSwiftInitializerGenerator。テスト可能なコードは2つのターゲット間で共有されます。テストの中に@testableはありません。クラス内のXcodeKitの依存関係を取り除くようにしてください。おそらく今は拡張テストのための方法の1つです。

関連する問題