Objective C - 如何测试私有变量

apr*_*dia 3 tdd bdd objective-c ios

如何对隐藏变量aVar 进行单元测试?

// .h file    
@interface Class: NSObject

@end

// .m file    
@implementation Class{
 id aVar
}

@end
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 5

您可以将私有变量移动到类 extension,这使它们保持私有,然后创建一个 -Private 类别,使它们成为公共。例如。

// Class.h
@interface Class : NSObject
@end

// Class.m
@interface Class ()
@property (nonatomic, strong) id aVar;
@end

@implementation Class
@end

// Class+Private.h
@interface Class (Private)
@property (nonatomic, strong) id aVar;
@end

...
Run Code Online (Sandbox Code Playgroud)

然后在您的单元测试目标中导入/编译 Class+Private。

  • 这几乎到了那里......只是想知道是否有办法在 _property_ 上使用私有 **variable** ? (2认同)