2016-05-06 3 views
1

Я хочу, чтобы время, которое требуется для получения уведомления в моем приложении. У меня есть тестовая установка примерно так:Измерение времени ожидания при тестировании блока Xcode

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

Я установить контрольные точки и уведомление, безусловно, вызывается во время теста, и waitForExpectationsWithTimeout продолжает выполнение, как «загружен» печатается.

Однако тест никогда не заканчивается в Xcode, и он запускается только до тех пор, пока он не истечет. Я знаю, что блок был определенно выполнен, но почему он не пройдет?

ответ

1

Методы внутри self.measureBlock называются 10 раз. «Измерительная» часть этого значения принимает среднее значение этих 10 прогонов для вычисления среднего значения. Если полученное уведомление не поступило 10 раз, вы остановитесь. Я ожидаю, что это твоя проблема.

Смежные вопросы