はじめに
iOSのユニットテストフレームワークには通知、KVOといった非同期処理のテストを書くメソッドが準備されています。
ただ、非同期のトリガーそのものが発火しない事を確認するためのテストを書きたい事があるかと思います。
その時は以下のコードを書く事で実現することができます。
実際のコード例
let expectation = XCTNSNotificationExpectation(name:HogehogeNotification)
テストコード
...
// 通知が来ない事をテストにするはisInvertedをtrueにセットする。
expectation.isInverted = true
// タイムアウトすればテストが成功
wait(for: [expectation], timeout: 0.01)