Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 单元测试操作?_Iphone_Ios_Unit Testing_Nsoperation_Nsoperationqueue - Fatal编程技术网

Iphone 单元测试操作?

Iphone 单元测试操作?,iphone,ios,unit-testing,nsoperation,nsoperationqueue,Iphone,Ios,Unit Testing,Nsoperation,Nsoperationqueue,我想测试一个NSOperation子类。我尝试在我的SenTestCase子类中执行此操作: - (void)setUp { [super setUp]; _importQueue = [[NSOperationQueue alloc] init]; [_importQueue setMaxConcurrentOperationCount:1]; [_importQueue waitUntilAllOperationsAreFinished]; } - (v

我想测试一个
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
完成执行之前完成,尽管指定了
waituntlalloperations已完成


关于如何防止在我的操作完成之前完成测试,您有什么想法吗?

您需要在将操作添加到队列后,而不是在
设置中,调用
WaitUntillalOperationsDefiefined