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
You can’t perform that action at this time.