Skip to content

Instantly share code, notes, and snippets.

@unnamedd
Forked from fxm90/NotificationTestCase.swift
Created October 25, 2018 21:34
Show Gist options
  • Save unnamedd/be1b24fad52aeada5da67ed955f0b008 to your computer and use it in GitHub Desktop.
Save unnamedd/be1b24fad52aeada5da67ed955f0b008 to your computer and use it in GitHub Desktop.
XCTest - Assert notification (not) triggered.
import XCTest
class NotificationTestCase: XCTestCase {
func testTriggerNotification() {
expectation(forNotification: .fooBar,
object: nil,
handler: nil)
let notificationCenter = NotificationCenter.default
notificationCenter.post(name: .fooBar,
object: self)
waitForExpectations(timeout: 0.1, handler: nil)
}
func testDidNotTriggerNotification() {
let expectation = self.expectation(forNotification: .fooBar,
object: nil,
handler: nil)
expectation.isInverted = true
// Run code that should not trigger a notification
if false {
let notificationCenter = NotificationCenter.default
notificationCenter.post(name: .fooBar,
object: nil)
}
waitForExpectations(timeout: 0.1, handler: nil)
}
}
extension Notification.Name {
static let fooBar = Notification.Name(rawValue: "fooBar")
}
// Run tests in playground
NotificationTestCase.defaultTestSuite.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment