2013-01-10 189 views
1

我想在我的单元测试访问私有类变量:GHUnit访问私有变量

Class 
- private variable abc; 

unit test 
category/extension above the unittest m file content 
@property (...) variable abc; 

但测试中,我总是得到一个无法识别的选择错误... 有什么诀窍制作私有变量可见/可测试?

对不起,发现使用谷歌什么;

问候, 马蒂亚斯

回答

2

)尝试[obj valueForKey:@"_ivar"]

你也可以做一个类别的那类,你可以在方法

期间访问任何私有变量
@implementation MyClass (UnitTestAddition) 

- (id)getPrivateVariable { 
    return _ivar; 
} 

@end 
+0

外观极好,OBJ valueforkey工作 - 你知道我为什么obj._ivar不?谢谢!!! – user617965

+0

做或obj.ivar,该类必须实现'[的ivar]'无论是在执行或由编译器来合成。否则将会是无法识别的选择器异常。但是,你可以在类实现访问 –

+0

好的,谢谢,再次:) – user617965