간단한 오디오 테스트를 통해 audioController에서 주파수 값을 올바르게 수신하고 있는지 확인하려고합니다. 내보기에서블록 컨텍스트에서 OCMock
나는 설정까지 블록 콜백이 같은 통화를하고 내 오디오 컨트롤러에서
- (void) registerVolumeCallback {
NSNumberBlock frequencyCallback = ^(NSNumber *frequency) {
self.currentFrequency = frequency;
};
self.audioController.frequencyCallback = frequencyCallback;
}
는 주파수 콜백 블록은 주파수를 포함하는의 NSNumber 호출됩니다.
- (void) testFrequencyAudioServiceCallbackActive {
OCMockObject *mockEqualizer = [OCMockObject partialMockForObject:self.testEqualizer];
[[[mockEqualizer stub] andCall:@selector(mockDidUpdateFrequency:)
onObject:self] setCurrentFrequency:[OCMArg any]];
[self.testEqualizer startAnimating];
[ mockEqualizer verify];
}
그리고 : 내 테스트에서
내가 다음이 파일
테스트 이퀄라이저는 상기 뷰의 인스턴스- (void) mockDidUpdateFrequency: (NSNumber *) frequency {
GHAssertTrue((frequency!= nil), @"Audio Service is messing up");
}
. 그래서 여기에 약간의 혼란을 주려고 노력하고 있습니다. 문제는 mockDidUpdateFrequency가 호출되지 않는다는 것입니다. 나는 퍼팅 시도 : 블록의
self.currentFrequency = frequency;
외부와 스위 즐링 발생합니까 내가 mockDidUpdateFrequency로 전화를받을 수 있나요. 나는 또한 시도했다 :
- (void) registerVolumeCallback {
__block UIEqualizer *blockSafeSelf = self;
NSNumberBlock frequencyCallback = ^(NSNumber *frequency) {
blockSafeSelf.currentFrequency = frequency;
};
self.audioController.frequency = frequencyCallback;
}
운 없음. 일부 이상한 인스턴스 물건은 내가 알지 못하는 블록 컨텍스트에서 진행됩니다. 누구든지 무슨 일이 일어나는 지 알아?
감사합니다. 내 audiocontroller에서 수행하고 있던 비동기식 작업과 관련이 있습니다. –