2013-01-10 196 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