Запустите тестовый пример OCUnit для уведомления

- (id)init
{
    if (self = [super init])
    {

        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(onDidFinishLaunchingNotification:)
                                                     name:UIApplicationDidFinishLaunchingNotification
                                                   object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(onWillEnterForegroundNotification:)
                                                     name:UIApplicationWillEnterForegroundNotification
                                                   object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(onDidBecomeActiveNotification:)
                                                     name:UIApplicationDidBecomeActiveNotification
                                                   object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(onWillTerminateNotification:)
                                                     name:UIApplicationWillTerminateNotification
                                                   object:nil];
    }

    return self;
}

// Notification Observers
- (void)onDidFinishLaunchingNotification:(NSNotification*)notification
{
    NSLog(@"onDidFinishLaunchingNotification");

}

- (void)onWillEnterForegroundNotification:(NSNotification*)notification
{
    NSLog(@"onWillEnterForegroundNotification");

}
- (void)onDidBecomeActiveNotification:(NSNotification*)notification
{
    NSLog(@"::onDidBecomeActiveNotification");
}

- (void)onWillTerminateNotification:(NSNotification*)notification
{
    NSLog(@"onWillTerminateNotification");
}

Тестовый пример для уведомления

    -(void)setup{
        [super setUp];

    mClassObj = [[ClassA alloc]init];

    }

-(void)teaddown{

mClassObj = nil;
    [super tearDown];


}
 -(void)testUIApplicationDidFinishLaunchingNotification {

        [[NSNotificationCenter defaultCenter]postNotificationName:UIApplicationDidFinishLaunchingNotification object:nil];    
        }

Ожидается, что это сработает!

Но тест-кейс провалился

-[__NSCFString onDidFinishLaunchingNotification:]: unrecognized selector sent to instance 

Я пытаюсь охватить тестовый пример для вышеуказанного метода уведомлений, но он дает мне ошибку, говорящую о том, что нераспознанный селектор отправлен экземпляру!

Любой совет мне покрыть тестовый пример для методов уведомления

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


person Kiran    schedule 04.03.2013    source источник


Ответы (1)


Помимо того, что я предполагаю, это случайные опечатки для setUp и tearDown (следите за заглавными буквами), в этом коде нет ничего плохого. Я ставлю точку останова на onDidFinishLaunchingNotification:, и она запускается тестом.

Вопрос в том, как туда пробирается константа NSString?

person Jon Reid    schedule 19.03.2013