我正在尝试测试一个我也像这样存根的值:
context(@"when pressing the audio alert button", ^{
context(@"when audio is currently disabled", ^{
beforeEach(^{
[subject.defaults stub:@selector(boolForKey:) andReturn:theValue(NO) withArguments:SHOULD_AUDIO_ALERT_KEY];
});
it(@"should enable audio alerts", ^{
[subject.audioAlertButton sendActionsForControlEvents:UIControlEventTouchDown];
//I would like to kill/remove the stub at this moment.
BOOL shouldAudioAlert = [subject.defaults boolForKey:SHOULD_AUDIO_ALERT_KEY];
[[theValue(shouldAudioAlert) should] equal:theValue(YES)];
});
});
});
由于存根,此测试将始终失败,shouldAudioAlert
将始终为NO
. 当我写这个问题时,我意识到我可以通过改进代码的设计来避免这种情况(这是一个追溯测试,而不是先测试)。但我仍然想知道我是否能够明确地杀死/删除存根。
我无法从文档或搜索中找到答案。任何帮助表示赞赏!