我有一个从 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.h
和NSTreeController_Extensions.h
)导入到您的测试用例类中。
如果您不导入包含类别的 header ,测试用例类将无法找到您的类别方法。
关于objective-c - 如何在测试中将父类的扩展函数用于我自己的子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626424/