[英]Unit Test NSOperation?
我想測試一個NSOperation
子類。 我試圖在我的SenTestCase
子類中這樣做:
- (void)setUp {
[super setUp];
_importQueue = [[NSOperationQueue alloc] init];
[_importQueue setMaxConcurrentOperationCount:1];
[_importQueue waitUntilAllOperationsAreFinished];
}
- (void)tearDown {
[_importQueue release];
[super tearDown];
}
- (void)testSomeImport {
ImportOperation *op = [[ImportOperation alloc] initWithFile:...];
[_importQueue addOperation:op];
[op setDelegate:self];
[op release];
}
- (void)opDidFinish:(ImportOperation *)op { // ImportOperation delegate method
// Not getting called
}
但是測試在NSOperation
完成執行之前完成,盡管指定waitUntilAllOperationsAreFinished
。
關於如何防止在我的操作完成之前完成測試的任何想法?
將操作添加到隊列后,您需要調用waitUntilAllOperationsAreFinished
,而不是在setUp
中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.