viewModel.fetchRepository
の処理が動き始めるのを待機する」ロジックを明確に書くのが良いと思います。viewModel.fetchRepository
の中で、 StubAPIClient.fetchRepository
を呼ぶようになってますよね、なので、StubAPIClient
に、 fetchRepository
が呼ばれたら返ってくる await property を生やすのが良いんじゃないでしょうかXCTAssertFalse(viewModel.showProgress) async let result: () = viewModel.fetchRepository() await stubAPIClient.willFetchRepository XCTAssertTrue(viewModel.showProgress) stubApiClient.continue() await result XCTAssertFalse(viewModel.showProgress)