1

我写了一个类似于下面代码的脚本。我在“dispatch_async”中保留了断点,但它没有被执行。这里可能是什么问题?

 dispatch_async(dispatch_get_main_queue()) {

    let array = response!.allObjects as! [NSArray]    
   XCTAssertNotEqual(array.count, 0, testPassed);
   self.waitForExpectationsWithTimeout(10, handler: { (error: NSError?) -> Void in
       if(error != nil) {
          XCTFail("Failed with error: \(error)
      }
     })


 }
4

1 回答 1

2

dispatch_async在单元测试中没有意义。单元测试正在主队列上运行。在单元测试完成之前,它不会释放队列以运行另一个块,此时运行此块为时已晚。

正如所写,唯一有意义的方法是dispatch_async完全删除。你在主线程上。只需执行您想要的代码。

于 2015-11-09T02:27:09.180 回答