【发布时间】:2016-07-01 17:21:53
【问题描述】:
使用 XCode 7。拥有使用 3rd 方框架(旧式 xxx.framework,而非 iOS8 后动态框架)的应用。宿主应用包含使用语法的框架文件
<MyExternalFrameworkNameHere/SomeFile.h>
并且构建良好。我可以#include 使用主机应用程序中的(引用样式)文件,这些文件不在单元测试目标.m 文件中使用任何外部框架,并且测试目标构建得很好。但是,当测试目标引用来自宿主应用程序的文件时,该文件本身包含第 3 方框架,测试目标无法构建,说它找不到标头。示例:
名为 SomeHeader.h 的主机应用标头:
#include <UIKit/UIKit.h> // OK
#include <MyExternalFrameworkNameHere/SomeFile.h> // doesn't like this in test target
XCTest 目标 AppTests.m:
#include "SomeHeader.h" //fails saying it cant find MyExternalFrameworkNameHere/SomeFile.h
如果测试目标直接包含有问题的外部框架文件,如下所示:
#include <SomeFile.h>
它有效,但这无济于事,因为我需要测试使用框架的主机应用程序代码,而不是框架本身。我在这里做错了什么?我尝试将外部框架添加到测试目标的 Link with binaries... 但这没有帮助。
【问题讨论】:
标签: ios unit-testing xcode7