我想确定在我的应用程序中调用通知需要多长时间。我有一个这样的测试设置:
func testLoadingPerformance() {
self.measureBlock {
self.expectationForNotification("Loaded", object: nil, handler: nil)
self.waitForExpectationsWithTimeout(30, handler: nil)
print("loaded")
}
}
我设置了断点,在测试期间肯定会调用通知,waitForExpectionsWithTimeout在打印"已加载"时继续执行。
然而,该测试从未在Xcode中完成,它只是运行直到超时。我知道这个块肯定被执行了,为什么它不通过呢?
self.measureBlock
内部的方法被调用10次。其中的"测量"部分采用这10次跑步的平均值来计算平均值。如果Loaded通知没有收到10次,那么您将暂停。我想这是你的问题。