在Xcode单元测试中测量预期时间

时间:2016-05-06 00:36:43

标签: xcode swift unit-testing nsnotificationcenter xctest

我想知道在我的应用中调用通知需要多长时间。我有一个类似的测试设置:

func testLoadingPerformance() {
    self.measureBlock {
        self.expectationForNotification("Loaded", object: nil, handler: nil)
        self.waitForExpectationsWithTimeout(30, handler: nil)
        print("loaded")
    }
}

我设置了断点并且在测试期间肯定调用了通知,并且waitForExpectationsWithTimeout继续执行,因为“loaded”被打印。

然而,测试从未在Xcode中完成,它只会运行直到超时。我知道该块肯定已经执行了,所以为什么不通过呢?

1 个答案:

答案 0 :(得分:1)

self.measureBlock内的方法被调用10次。 “测量”部分采用这10次运行的平均值来计算平均值。如果未收到10次加载通知,那么您将停止。我希望这是你的问题。