2013-02-13 3 views
1

Я работаю случай OCUnit TestOCUnit Пример теста Выпуск

- (NSDictionary*)Event:(EventBase*)event 
{ 
    [self doesNotRecognizeSelector:_cmd]; 
    return nil; 
} 

Я нашел этот метод, чтобы написать тестовый пример

В моем случае испытания класса я передать значение события действительно, недопустимое и ноль для выше метод

-(void)testEventNil{ 

NSDictionary *t_Dict; 
EventClass *t_EventClass = [[EventClass alloc]init]; 
t_Dict = [t_EventClass Event:nil]; 
STAssertNil (t_Dict, @"Return nil"); 
} 

-(void)testEventNil{ 

NSDictionary *t_Dict; 
NSMutableDictionary *invalid; 
[invalid setObject:@"1324" forKey @"Number"]; 
EventClass *t_EventClass = [[EventClass alloc]init]; 
t_Dict = [t_EventClass Event:]; 
STAssertNil (t_Dict, @"Return nil"); 
} 

-(void)testEventvalid{ 

NSDictionary *t_Dict; 
NSMutableDictionary *invalid; 
[invalid setObject:@"WorkNameEvent" forKey @"EventNameKey"]; 
EventClass *t_EventClass = [[EventClass alloc]init]; 
t_Dict = [t_EventClass Event:]; 
STAssertNotNil (t_Dict, @"Return nil"); 
} 

Его дает мне ошибку непризнанным селектор отправляется к экземпляру

Может ли один совет мне для фиксации этого вопроса

@all Заранее спасибо

ответ

1

Вашего кода имеет несколько ошибок. Я не могу понять это.

Вы пытаетесь протестировать метод, который предназначен для выброса ошибки. Может быть, это должно быть переоценено? Единственный возможный тест, как это сейчас

EventClass *event = [EventClass new]; 
STAssertThrows([t_EventClass Event:nil],@"Should throw an error."); 

Когда вы пишете: t_Dict = [t_EventClass Event:]; вы не проходя какого-либо параметра методу Event:.

Это не работает либо:

NSMutableDictionary *invalid; 
[invalid setObject:@"WorkNameEvent" forKey @"EventNameKey"]; 

, потому что вы не инициализировать словарь. То есть,

NSMutableDictionary *invalid = [NSMutableDictionary new]; 

Конвенция в Objective-C состоит в методах имен и переменных с использованием верблюда случай, в этом случае вместо того, чтобы event:Event: и dic вместо t_Dic.

+0

Это много, а также правила конвенции для объектива C – kiran

+0

Добро пожаловать! – Jano

Смежные вопросы