Swift测试无法在Objective-C VC上找到Swift类属性

Zac*_*iro 9 xcode objective-c ios swift

我可能在这里编译地狱.

我正在Swift中实现一个快照测试,在Objective-C VC上调用一个属性,但该属性是一个用Swift编写的类,桥接.

MyViewController.h中:

@class TextEntryView;

@interface MyViewController: AbstractTextEntryViewController

@property (nonatomic, strong) TextEntryView *textEntryView;

@end
Run Code Online (Sandbox Code Playgroud)

TextEntryView.swift中:

@objc(TextEntryView) class TextEntryView: UIView

在我的测试中,我正打算打电话

vc.textEntryView其中vc是类型MyViewController,我收到错误:

type的值MyViewController没有成员textEntryView

我的桥接头很好看.如果我在NSString上面的.h文件中添加一个属性,我可以在测试中引用它.此外,当我在我的测试中command单击时MyViewController,它会将我带到.h文件而不是该文件的.swift生成版本(这似乎是此问题的症状).

我可能会将Xcode 8推向极限.

Cha*_*tka 1

您需要确保您import的应用程序位于测试源文件的顶部。例如,如果您的应用程序名为 MyApp,请在测试文件的顶部插入:

import MyApp
Run Code Online (Sandbox Code Playgroud)

如果我省略import,我会得到与您所看到的相同的行为。此外,只要import存在,您就不必为单元测试的桥接标头而烦恼。