キューを同期的および非同期的に処理するコードがあります。私は OCMock を使用して物事をテストしていますが、個別に両方のケース (同期と非同期) をテストできますが、両方を同時にテストすると問題が発生します。
キューが正しく処理されていることを確認するために、モック リスナーを渡し、このリスナーから、キュー プロセッサによって伝達されたすべての通知を受け取ったかどうかを尋ねます。2 つのテストがあり、最初のテスト (非同期) ではこれらの期待が満たされますが、2 番目のテスト (同期) では次のエラーが発生します。
OCMockObject[JHQueueListener] : 4 expected methods were not invoked:
startedProcessingQueue
startedToProcessQueueItem:OCMockObject[JHQueueItem]
finishedProcessingQueueItem:OCMockObject[JHQueueItem]
finishedProcessingQueue
プロジェクトへのリンクは次のとおりです: https://github.com/jphollanti/queue-processor
テストへのリンクは次のとおりです: https://github.com/jphollanti/queue-processor/blob/master/QueueProcessorTests/JHQueueProcessorTests.m