首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试Xcode源码编辑器扩展?

如何测试Xcode源码编辑器扩展?
EN

Stack Overflow用户
提问于 2016-12-18 04:53:01
回答 2查看 295关注 0票数 2

我正在编写XCode源代码编辑器扩展,我想添加一些测试,以便我可以更快地开发。

我的设置是

代码语言:javascript
复制
MyContainerApplication
  - SourceEditorExtension
    - SourceEditorCommand.swift
    - MyClass.swift

我想测试一下MyClass.swift。MyContainerApplication对SourceEditorExtension具有目标依赖关系。

所以我创建了单元测试,并将MyContainerApplication设置为宿主应用程序。

在我的测试中,我可以调用:

代码语言:javascript
复制
@testable import MyContainerApplication

class Test: XCTestCase {

    func testSomething() {

         let c = MyClass()
    }
}

但是XCode说找不到MyClass,这是有道理的,因为它不是包含在HostApplication中,而是包含在SourceEditorExtension中。我也不能打电话给

代码语言:javascript
复制
@testable import SourceEditorExtension

因为它不是一个模块。

而且,我不能直接将MyClass.swift添加到我的测试目标或宿主应用程序目标,因为它使用XcodeKit框架。我将得到一个错误:

代码语言:javascript
复制
XcodeKit module not found

看起来除了SourceEditorExtension之外,XcodeKit不能导入到其他地方,即使是在测试中也不能。

所以我的问题是--有没有其他方法来测试源代码编辑器扩展?

EN

回答 2

Stack Overflow用户

发布于 2017-01-14 23:40:23

你可以在这里查看单元测试是如何完成的,SwiftInitializerGenerator。可测试代码在两个目标之间共享。并且在测试中没有@testable。尝试在你的类中摆脱对XcodeKit的任何依赖。现在,它可能是扩展测试的一种方式。

票数 0
EN

Stack Overflow用户

发布于 2019-01-02 04:08:28

确保您的MyClass.swift同时设置为SourceEditorExtensionMyContainerApplicationTests

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41202944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档