[英]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.