2017-03-08 2 views
1

J'ai un test assez longue avec plusieurs sections de ce formulaire:erreurs XCTest et messages d'impression se mélangent dans AppCode

let value = computationThatLogs() 
    XCTAssertEqual(value.a, 77) 

Je remarque que les file:line:error messages de XCTAsserts violées se mélangent fréquemment dans les messages de débogage du calcul dans la section suivante, souvent même sur la même ligne qu'un message de débogage!

Pourquoi est-ce? Comment puis-je empêcher cela? fflush(stderr); fflush(stdout) avant chaque section ne semble pas être suffisant. Dans le cas où cela est pertinent, les calculs dans chaque section sont en fait asynchrones; le test (c'est-à-dire le thread principal) attend qu'ils se terminent en utilisant un DispatchSemaphore.

Je l'observe dans AppCode; ne peut pas reproduire avec XCode.

Répondre