Objective-C Language Test du bloc de code asynchrone:


Exemple

- (void)testDoSomethingThatTakesSomeTime{
XCTestExpectation *completionExpectation = [self expectationWithDescription:@"Long method"];
[self.someObject doSomethingThatTakesSomeTimesWithCompletionBlock:^(NSString *result) {
    XCTAssertEqualObjects(@"result", result, @"Result was not correct!");
    [completionExpectation fulfill];
}];
[self waitForExpectationsWithTimeout:5.0 handler:nil];
}
  • Transmettez les données factices à la méthode à tester si nécessaire.
  • Le test sera suspendu ici, exécutant la boucle d'exécution, jusqu'à ce que le délai d'attente soit atteint ou que toutes les attentes soient satisfaites.
  • Le délai d'attente correspond au délai prévu pour la réponse du bloc asynchrone.