Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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