Ios 在目标C中@testable import的替代方案是什么

Ios 在目标C中@testable import的替代方案是什么,ios,objective-c,xctest,xcode7.3,Ios,Objective C,Xctest,Xcode7.3,我正在使用Xcode在objective C中提供的XCTest在Xcode中进行单元测试。 我知道如何在Swift中导入模块,如下所示 目标C中的替代方案是什么?@testable覆盖Swift中的访问权限,允许您在单元测试中测试内部方法 Objective-C没有这样的访问修饰符,因此您不需要@testable,只需正常导入模块即可 如果需要对内部Swift方法进行单元测试,则必须使用Swift编写测试。在Objective C中,您可以简单地导入它们,因为没有Swift中的“内部”方法访

我正在使用Xcode在objective C中提供的XCTest在Xcode中进行单元测试。 我知道如何在Swift中导入模块,如下所示



目标C中的替代方案是什么?

@testable
覆盖Swift中的访问权限,允许您在单元测试中测试
内部方法

Objective-C没有这样的访问修饰符,因此您不需要
@testable
,只需正常导入模块即可


如果需要对内部Swift方法进行单元测试,则必须使用Swift编写测试。

在Objective C中,您可以简单地导入它们,因为没有Swift中的“内部”方法访问限制


另外,在Xcode 6上,主目标应该已经链接到测试目标。如果没有,请尝试选中测试目标>常规>测试中的“允许测试主机应用程序API”复选框。查看以获取更多信息。

您不能导入它们吗?或者你想访问Objective C的私有方法?@Tomer:然后我需要导入所有文件来编译UnitTestCase目标的源代码,这似乎不是一个好的解决方案。你的测试目标与你的主目标相关联。除了导入.h之外,你还需要什么?@Jon Ried:UITests有不同的目标,这就是为什么我需要将应用程序文件导入我的ui测试目标。这对于混合代码来说是一个巨大的问题,如果你有一个使用swift类的objc类,你就不能测试objc类,因为swift类不包括在测试中,我不知道他们怎么会不这么想。除了在objc中编写所有测试并将文件包含在测试目标中之外,您是否找到了其他解决方案?我试图禁用可测试性,但我有一些测试是从nib加载的,这些类的模块名与运行应用程序时的不同,因此失败了。根据苹果文档
说明:@testable仅提供“内部”功能的访问;即使在使用@testable时,“私有”声明在其文件外也不可见。
@BabulPrabhakar好的,谢谢,我已经解决了这个问题。我一直在进行功能UI测试,我必须模拟应用程序中使用的核心数据对象,因此这个解决方案在我的情况下不起作用。简单地说#导入什么?如果Swift文件不在测试目标中,则它们将不在AppTest Swift.h中,并且在编译测试目标时无法访问App Swift.h。@不常见-将它们添加到测试目标中,然后它们将包含在AppTest Swift.h中
@testable import  AppName