目标C - 如何测试私有变量

时间:2015-08-12 21:23:01

标签: ios objective-c tdd bdd

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

// .h file    
@interface Class: NSObject

@end

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

@end

2 个答案:

答案 0 :(得分:2)

您可以将私有变量移动到class extension,这会使它们保密,但随后会创建一个将其公开的私有类别。例如。

// 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

...

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

答案 1 :(得分:0)

您可以使用关于KVC点击here

的KVC [obj setValue:<value> forKey:<key>]详细信息