我正在编写用于测试目的的库。所以我需要在我的主要目标中的XCTest而不是我的单元测试目标。目前正在使用Xcode 9。
当我导入XCTest时,我收到错误"无法加载' XCTest'"。
我知道主要目标不是链接到框架,但将其添加到链接框架(必需)并不会改变任何内容。
我也查看了Quicks项目设置,但无法找到任何与众不同的东西。
我错过了什么?
答案 0 :(得分:3)
这可能有点晚了,但你要做的是:
主项目未与XCUnit框架链接。您应该为项目创建单独的测试目标(如果尚不存在),并将测试源文件添加到该目标。
仔细检查相关文件是否不在主目标中,而是仅检查测试目标。只有测试目标才能导入该框架。
确保在选择测试框架时检查所有模块的目标成员资格。您可以通过选择View-> Utilities-> Show File Inspector
来查看Target Membership选项您刚刚将测试文件/类添加到主目标中,而不是错误地添加到测试目标中。就这么简单。
<强>解决方案:强>
1)从&#34;编译源&#34;中删除测试文件列表&#34;构建阶段&#34;主要目标的标签
2)将相同的文件添加到&#34;编译源&#34;在&#34;建立阶段&#34;测试目标的选项卡必须解决问题
这可能有点晚了但你要做的是:点击文件&gt;新&gt;目标&gt; iOS单元测试包。
然后在那里添加测试。这对我有用。问题是我在创建项目时没有选择创建单元测试。
希望这有助于某人。
答案 1 :(得分:1)
在构建设置的Framework Search Paths
下,我必须添加:$(PLATFORM_DIR)/Developer/Library/Frameworks
然后一切都编好了:)
答案 2 :(得分:0)
一个想法是在每个测试目标中包含lib的源代码。
这不是理想的,可能不是你想到的,但是如果其他一切都失败了,这可能会有效,特别是如果你使用git子模块或git子树在测试目标之间共享lib的源代码。