Я хочу открыть частные свойства контроллера представления, чтобы я мог их протестировать. Один из способов сделать это — создать категорию в классе только для тестирования и использовать метод категории для получения значения.
// Class I want to test -- implementation
#import "SomeViewController.h"
@interface SomeViewController ()
@property (strong, nonatomic)UIActionSheet *sheet;
@end
// Category's header
#import "SomeViewController.h"
@interface SomeViewController (Test)
-(UIActionSheet *)getSheetValue;
@end
// Category's implementation
#import "SomeViewController+Test.h"
@implementation SomeViewController (Test)
-(UIActionSheet *)getSheetValue{
return self.sheet; // references private property
}
@end
Есть лучший способ сделать это? Я подумал, может быть, я мог бы просто создать общедоступное свойство sheet
в категории, которая ссылается на значение частного свойства, но не могу найти хорошей документации о том, как это сделать. Как лучше всего тестировать частные свойства, не полагаясь на ivars?