从Swift测试文件中调用Objective-C类

我正在实施单元测试。原始项目是用Objective-C编写的。

我创建了一个用Swift编写的新测试目标。

如何在测试文件中调用实际应用程序的Objective-C类?

我已尝试执行以下操作。

@testable import MyModule

但是,这似乎仅在所有文件都在Swift中时才起作用,而对我而言并非如此。

我在项目设置中尝试了其他几项,但是这些似乎都不起作用。

我是否遗漏了明显地明显的东西?

class MyTests: XCTestCase {

    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }

    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
    }

    func testExample() {
        let vc = HomeViewController() //this line is failing. How do I expose this view controller written in objective c?
        // This is an example of a functional test case.
        // Use XCTAssert and related functions to verify your tests produce the correct results.
    }
}
阿德南·阿夫塔布(Adnan Aftab)

您需要创建桥接头,并在其中添加Objective-C文件。创建一个桥接头YourProductName-Bridging-Header.h,然后import HomeViewController在桥接头中。

从同一目标将Objective-C代码导入Swift

在您的Objective-C桥接标头文件中,导入要公开给Swift的每个Objective-C标头。例如:

#import "XYZCustomCell.h"
#import "XYZCustomView.h"
#import "XYZCustomViewController.h" 

在“构建设置”的“ Swift编译器-代码生成”中,确保下面的“ Objective-C桥接头”构建设置具有桥接头文件的路径。该路径应相对于您的项目,类似于在“构建设置”中指定Info.plist路径的方式。在大多数情况下,您无需修改​​此设置。

以下是一些可以帮助您的资源

  1. 将Swift与Objective-C结合使用
  2. 回答另一个堆栈溢出问题
  3. 如何快速使用Objective-C

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift 中的 Objective C 类方法调用

来自分类Dev

在Objective-C文件中调用Swift API

来自分类Dev

在Objective-C ++中调用Swift(.mm文件)

来自分类Dev

从 Swift 调用 .h 文件中定义的 Objective-C 函数

来自分类Dev

如何在Swift中调用Objective C类方法

来自分类Dev

无法在Swift中调用特定的Objective-C类方法

来自分类Dev

使用Swift代码的Objective C测试类

来自分类Dev

无法从Objective-C文件访问Swift类中的变量

来自分类Dev

如何在Swift类中从Objective C调用单例类方法?

来自分类Dev

Objective-C-Swift类在Objective-C .h文件中不可见

来自分类Dev

Objective-C类中的Swift协议

来自分类Dev

在Swift中重写Objective C类方法

来自分类Dev

从Objective C中的Swift类继承

来自分类Dev

为什么在Objective-C类中具有类型-(id)的initTESTING()无法在Swift中调用?

来自分类Dev

Objective C类的调用类方法

来自分类Dev

在Objective-C中的Swift类上调用NSStringFromClass返回模块错误的名称

来自分类Dev

如何从Swift调用Objective-C类的工厂方法?

来自分类Dev

Swift:如何从Objective-C调用类别或类方法

来自分类Dev

在objective c 类中使用delegate 调用swift 方法

来自分类Dev

Objective-C中的单元测试私有类

来自分类Dev

在Objective-C中包含Swift文件

来自分类Dev

在Objective-C中包含Swift文件

来自分类Dev

c#如何从类文件中调用类

来自分类Dev

Swift“ Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类

来自分类Dev

如何在Swift类中重写Objective-C类的抽象类级别方法?

来自分类Dev

Swift-在Objective-C类中访问NSArray

来自分类Dev

Cocoa Touch Objective-C框架中的Swift类

来自分类Dev

Cocoa Touch Objective-C框架中的Swift类

来自分类Dev

C#测试-构造函数调用中的模拟类

Related 相关文章

  1. 1

    Swift 中的 Objective C 类方法调用

  2. 2

    在Objective-C文件中调用Swift API

  3. 3

    在Objective-C ++中调用Swift(.mm文件)

  4. 4

    从 Swift 调用 .h 文件中定义的 Objective-C 函数

  5. 5

    如何在Swift中调用Objective C类方法

  6. 6

    无法在Swift中调用特定的Objective-C类方法

  7. 7

    使用Swift代码的Objective C测试类

  8. 8

    无法从Objective-C文件访问Swift类中的变量

  9. 9

    如何在Swift类中从Objective C调用单例类方法?

  10. 10

    Objective-C-Swift类在Objective-C .h文件中不可见

  11. 11

    Objective-C类中的Swift协议

  12. 12

    在Swift中重写Objective C类方法

  13. 13

    从Objective C中的Swift类继承

  14. 14

    为什么在Objective-C类中具有类型-(id)的initTESTING()无法在Swift中调用?

  15. 15

    Objective C类的调用类方法

  16. 16

    在Objective-C中的Swift类上调用NSStringFromClass返回模块错误的名称

  17. 17

    如何从Swift调用Objective-C类的工厂方法?

  18. 18

    Swift:如何从Objective-C调用类别或类方法

  19. 19

    在objective c 类中使用delegate 调用swift 方法

  20. 20

    Objective-C中的单元测试私有类

  21. 21

    在Objective-C中包含Swift文件

  22. 22

    在Objective-C中包含Swift文件

  23. 23

    c#如何从类文件中调用类

  24. 24

    Swift“ Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类

  25. 25

    如何在Swift类中重写Objective-C类的抽象类级别方法?

  26. 26

    Swift-在Objective-C类中访问NSArray

  27. 27

    Cocoa Touch Objective-C框架中的Swift类

  28. 28

    Cocoa Touch Objective-C框架中的Swift类

  29. 29

    C#测试-构造函数调用中的模拟类

热门标签

归档