【问题标题】:How do I access Objective-C code that exists in the test target, from a Swift unit test?如何从 Swift 单元测试访问测试目标中存在的 Objective-C 代码?
【发布时间】:2015-09-12 15:32:08
【问题描述】:

我正在尝试对我编写的一些 Swift 类进行单元测试。他们需要访问仅存在于我的测试目标中的 Objective-C 类。

我可以通过在测试目标“Objective-C Bridging Header”构建设置中指定应用程序的桥接头来访问属于我的应用程序目标的 Objective-C 类。但是,我不能使用它在我的测试目标中公开 Objective-C 类。

如何从 Swift 测试类访问仅存在于我的测试目标中的 Objective-C 类?

【问题讨论】:

    标签: ios objective-c swift


    【解决方案1】:

    我添加了一个 second 桥接头文件,这个文件属于我的测试目标。在第二个标头中,我从我的应用程序中导入了该标头,以及我在测试中需要的 Objective-C 代码。

    称之为“MyAppTests-BridgingHeader.h”:

    #import "MyApp-Bridging-Header.h"
    #import "MagicalRecord.h"
    #import "MagicalRecord+Setup.h"
    

    然后我将其设置为测试目标构建设置中的桥接头:

    我的测试现在可以访问在我的主桥接头中暴露给 Swift 的所有 Objective-C 类,以及仅在测试中暴露的所有额外的 Objective-C 类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 2019-11-13
      • 1970-01-01
      相关资源
      最近更新 更多