【问题标题】:How can I use Extension functions from the parent class for my own subclass in Tests?如何在测试中为我自己的子类使用父类的扩展函数?
【发布时间】:2011-07-08 15:06:29
【问题描述】:

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

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 中,我的子类似乎对扩展函数一无所知... :(

只有我的测试用例被添加到 Test-Target...

有人知道吗?

【问题讨论】:

  • 您是否将两个标头都导入到您的测试用例类中?
  • 这就是重点...... :(我认为将类别的头文件导入CSMCustomTreeController就足够了,但我还必须将它另外导入测试用例......我昨天已经注意到了,但我无法在前 24 小时内回答我自己的问题。如果你写了答案,我会标记为正确!谢谢!

标签: objective-c cocoa testing extension-methods subclass


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2016-07-15
    相关资源
    最近更新 更多