在什么情况下会有一个使用期望在快速测试中进行通知

我有点困惑,因为什么/什么时候与expectationForNotification而不是expectingWithDescription.我无法在 swift中找到任何明确的示例,用于何时以及您使用此呼叫.

我假设它可能测试通知,但它看起来可能只是通知中心的整个addobserver()调用的更方便的包装.

有人可以简要解释一下它的作用,什么时候使用它,还有几行示例代码

谢谢

正如您已经想象的期望值.通知是检查通知是否被提出的便利期望.

这个测试:

func testItShouldRaiseAPassNotificationV1() {
    let expectation = expectationWithDescription("Notification Raised")
    let sub = NSNotificationCenter.defaultCenter().addobserverForName("evPassed",object: nil,queue: nil) { (not) -> Void in
        expectation.fulfill()
    }
    NSNotificationCenter.defaultCenter().postNotificationName("evPassed",object: nil)
    waitForExpectationsWithTimeout(0.1,handler: nil)
    NSNotificationCenter.defaultCenter().removeObserver(sub)
}

可以替换这个:

func testItShouldRaiseAPassNotificationV2() {
    expectationForNotification("evPassed",handler: nil)
    NSNotificationCenter.defaultCenter().postNotificationName("evPassed",handler: nil)
}

你可以在这Objc.io number中找到一个很好的解释.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...