我像这样设置模拟观察者:
id quartileObserverMock = [OCMockObject observerMock];
[[NSNotificationCenter defaultCenter] addMockObserver:quartileObserverMock
name:kVPAdPlayerDidReachQuartileNotification
object:self.adPlayer];
[[quartileObserverMock expect]
notificationWithName:kVPAdPlayerDidReachQuartileNotification
object:self.adPlayer
userInfo:@{@"quartile" : @(VPAdPlayerFirstQuartile), @"trackingEvent" : VPCreativeTrackingEventFirstQuartile}];
我的单元测试运行;但是在发布通知时我会收到虚假的 EXC_BAD_ACCESS 错误。
IE
[[NSNotificationCenter defaultCenter]
postNotificationName:kVPAdPlayerDidReachQuartileNotification
object:self.adPlayer
userInfo:@{@"quartile" : @(quartile), @"trackingEvent" : trackingEvent}];
当我注释掉观察者模拟代码时,我的测试每次都运行良好。
当我将代码放回原处时,我在 postNoticiaitonName:object:userInfo 上得到了虚假的崩溃,可能每 2.5 次发生一次。
有人有什么想法吗?