为现有目标c + swift项目添加单元测试

时间:2017-10-26 12:47:12

标签: ios objective-c swift xcode unit-testing

我有一个现有的iOs项目,我想添加一个单元测试目标。我想测试的课程都是客观的c和swift。

我设法创建了一个测试目标,它允许我通过将实现swift文件添加到测试目标来测试swift only代码。

但是,只要我导入或使用导入目标c代码的类,我就会在构建测试目标时遇到链接器问题:

... Symbols not found for architecture x86_64

我已经尝试将objectivec mm文件添加到我的目标,这会导致我传递链接器错误,但是我导致我导入的类出现unresolved identifier错误。

我正在使用xcode 9和swift 3。

编辑:我认为这可能与测试目标中没有swift桥接头的事实有关,但是我不确定如何添加它。

1 个答案:

答案 0 :(得分:0)

您的测试项目是一个单独的目标,应该将其依赖的所有文件单独链接进行测试。首先,单击其中缺少的.m个文件之一,检查测试项目是否也包含在目标中。如果是这种情况,则测试项目使用的桥接头可能存在问题。找出它从目标的构建设置中使用哪一个,并查看它是否包含与主项目相同的文件。