将app模块导入单元测试

时间:2014-12-17 08:27:42

标签: objective-c xcode swift xctest

为了在XCTests中使用主要目标的快速类,您只需将目标模块名称导入XCTests。至少,这就是我遇到的问题。

现在,因为我们的项目设置很复杂,所以这似乎不起作用。将目标模块导入XCTests时,我得到了

  

无法导入桥接标头' /path/to/header/file.h'

当然,我确保文件存在。我认为,这对我失败的唯一原因是因为我们在ObjC和swift之间有一个循环导入。即Swift类导入ObjC类,这些类也导入swift类。为了做到这一点,我们篡改了桥接标题:

// See http://stackoverflow.com/questions/24098408/how-can-i-add-forward-class-references-used-in-the-swift-h-header

#ifndef Target_Bridging_Header_h
#import "Target-Swift.h"
#else
@class SomeSwiftClass;
@class OtherSwiftClass;
#endif

任何人都面临这个问题?无论如何要解决这个问题?


更新

我已经验证了我之前关于循环导入的假设。谢天谢地,我很容易打破这个循环;现在我们在任何objective-c标头中都没有#import "Target-Swift.h"。它完全隐藏在实现文件中。该程序目前编译良好。

0 个答案:

没有答案