IOS:未执行使用dispatch\u async的单元测试

IOS:未执行使用dispatch\u async的单元测试,ios,swift,unit-testing,xctest,xctestexpectation,Ios,Swift,Unit Testing,Xctest,Xctestexpectation,我已经编写了一个类似于下面代码的脚本。我将断点保留在“dispatch\u async”中,但它不会被执行。这里可能有什么问题 dispatch_async(dispatch_get_main_queue()) { let array = response!.allObjects as! [NSArray] XCTAssertNotEqual(array.count, 0, testPassed); self.waitForExpectationsWithTime

我已经编写了一个类似于下面代码的脚本。我将断点保留在“dispatch\u 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)
      }
     })


 }

这种
dispatch\u async
在单元测试中没有意义。单元测试正在主队列上运行。在单元测试完成之前,它不会释放队列来运行另一个块,此时运行这个块已经太晚了


如前所述,唯一有意义的方法是完全删除
dispatch\u async
。你在主线上。只需执行所需的代码。

感谢Rob的快速回复。当我删除dispatch_async时,单元测试脚本正在崩溃。我在“”中提出了一个问题。不确定是什么导致了这次车祸。。。如果我执行一个测试函数,它就可以正常工作。但如果我为整个项目运行测试脚本(将近1000个测试),它就会崩溃。