Skip to content

Instantly share code, notes, and snippets.

@plam4u
Forked from fxm90/NotificationTestCase.swift
Created October 23, 2019 14:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save plam4u/dae9bfe10dbc6b6a40b1ed39424de988 to your computer and use it in GitHub Desktop.
Save plam4u/dae9bfe10dbc6b6a40b1ed39424de988 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