objective-c - 如何在测试中将父类的扩展函数用于我自己的子类?

标签 objective-c cocoa testing extension-methods subclass

我有一个从 NSTreeController 派生的名为 CSMCustomTreeController 的类,并从 NSTreeController 的一些扩展中导入了 header 数据

CSMCustomTreeController.h

#import "NSTreeController_Extensions.h"


@interface CSMCustomTreeController : NSTreeController {
...

扩展在 NSTreeController_Extensions.h 中定义:

#import "NSTreeController_Extensions.h"
#import "NSTreeNode_Extensions.h"
#import "NSIndexPath_Extensions.h"
#import "NSArray_Extensions.h"

@implementation NSTreeController (ESExtensions)
...

我可以在我的普通目标中使用 ESExtensions 中定义的所有函数,但在我的 TestCases 中,我的子类似乎对扩展函数一无所知......:(

只有我的测试用例被添加到测试目标...

有人知道吗?

最佳答案

您应该确保将两个 header (CSMCustomTreeController.hNSTreeController_Extensions.h)导入到您的测试用例类中。

如果您不导入包含类别的 header ,测试用例类将无法找到您的类别方法。

关于objective-c - 如何在测试中将父类的扩展函数用于我自己的子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626424/

相关文章:

objective-c - 无法打开错误 "MainStoryboard_iPhone.storyboard"。第 126 行 : PCDATA invalid Char value 3

ios - 带每个路线步骤终点坐标的转弯导航

xcode - 将可变字典添加到可变字典以转换为 JSON

swift - addSubview 上的 NSViewController 子类 EXC_BAD_INSTRUCTION

java - 如何更新测试类中intellij idea插件的持久状态?

node.js - Mocha 未显示所有测试

ios - 为什么在将对象与 IBAction 链接时 Xcode 没有事件/参数

iphone - 谁能告诉我为什么我的代码无法创建数据库和表,然后在其中存储数据。

iphone - 使用 Cocoa 框架,当设置标签时,显式转换为 NSString 可以工作,但 stringValue 会引发异常。为什么?

javascript - 使用 jasmine/karma、spyOn 进行 Angular 组件测试