Как использовать ожидание для уведомления

Я перепробовал все, но единственный способ получить успешный тест - это на самом деле отправить уведомление в функции теста, что в некоторой степени противоречит цели.

У меня есть кнопка. Когда я нажимаю на кнопку, он отправляет уведомление. Как я могу использовать hopeationForNotification, чтобы увидеть, будет ли отправлено это уведомление?

func testExample() {
    let app = XCUIApplication()
    let button = app.buttons["Button"]
    let expectation = expectationForNotification("TEST_NOTE", object: nil) {
        (notification: NSNotification!) -> Bool in

        print("SUCCESS")
        return true
    }

    button.tap()

    waitForExpectationsWithTimeout(5, handler: nil)
}

1 ответ

Мне кажется, что вам придется оправдать ожидания...

func testExample() 
{
     let app = XCUIApplication()
     let button = app.buttons["Button"]

     let expectation = expectationWithDescription("waiting for the tap")

      expectationForNotification("TEST_NOTE", object: nil)
      {
        notification in
        expectation.fulfill()
        return true
      }

      button.tap()

      waitForExpectationsWithTimeout(30)
      {
            error in 
            if let e = error
            {
                XCTFail("\(e.debugDescription)")
            }
       } 
}
Другие вопросы по тегам