我目前正在尝试为我的(macOS)Xcode项目编写单元测试(不是UI测试)。我创建了一个新的单元测试目标,它为我创建了一个空白的单元测试文件。这符合要求并且链接正常,但没有测试。一旦我添加行@testableimportPilot,其中Pilot是我的AppTarget的名称,并且我尝试编译和运行,它失败了此消息:链接器命令失败,退出代码为1(使用-v查看调用)我已经尝试了我能找到的一切,但似乎没有任何效果。我在这里阅读的其他帖子处理了UI测试中的这个问题,但那是因为你不能在UI测试中使用@testable。您应该能够在单元测试中使用它,但我不明白为什么它不起作用。有没有人有什么见解
我最近注意到@testableimport似乎不适用于WatchExtension模块。这是我到目前为止尝试过的:使用WatchKit应用程序创建一个新的Xcode项目并包括单元测试。打开自动创建的单元测试文件并添加@testableimportProjectName_WatchKit_Extension(在确认这是扩展build设置中的正确模块名称之后)。这会产生“没有这样的模块”编译器错误。确认在扩展build设置中“启用可测试性”设置为是。更改扩展模块的名称以删除空格我当然能够通过将所需文件添加到测试目标来成功进行单元测试,但感觉这应该不是必需的。有没有人能够成功地将@testa
我知道@testableimportMyModule提供从“测试”(使用“testTarget”构建)模块MyModuleTests探索MyModule的非公共(public)成员的能力。我的“非测试”模块需要相同的功能。不在生产中,只是在Debug模式下。我的问题是:你知道怎么做吗?相关的(我认为,更难的问题):@testable背后究竟发生了什么魔法? 最佳答案 要回答您的问题,出于调试目的,您实际上可以使用它。假设您有一个工作区MyAwesomeWkspace和一个位于MyAwesomeProject中的项目。现在,创建一个名
我最近更新到Xcode7beta5。我尝试向早期项目添加单元测试,但在@testableimportmyModuleName上收到错误消息“Nosuchmodule[myModuleName]”>行。我试过了使用OptionCleanBuildFolder清理项目检查构建选项中的“启用可测试性”(调试)是否设置为是删除测试目标,然后重新添加iOS单元测试包这些都不适用于这个项目(但我已经在另一个项目中进行了测试)。有其他人遇到过这个问题并解决了吗? 最佳答案 请检查您尝试使用@testableimport"ModuleName"导入
我正在尝试使用Swift的@testable声明将我的类暴露给测试目标。但是我收到了这个编译器错误:Intervals是包含我要公开的类的模块。我该如何摆脱这个错误? 最佳答案 在您的主要目标中,您需要将EnableTestability构建选项设置为Yes。根据下面@earnshavian的评论,根据苹果发行说明,这应该只用于调试构建:“启用可测试性build设置应该只用于调试配置,因为它禁止依赖于不导出的优化来自应用程序或框架的内部符号”https://developer.apple.com/library/content/re