I have written a few unit tests in the new XCTest framework of Xcode 5.
The tests seem to pass successfully most of the time, but I've come across a strange behaviour where if I run the tests enough times consecutively, eventually I'll get a 'test failed' message and the console will show Program ended with exit code 0
, but there are green checkmarks beside all the tests.
What's going wrong here?
This is definitely a bug. Submit a report via https://bugreport.apple.com/ feel free to reference my report (15251050).
Until the bug is fixed, close the project and re-open it.
This bug has been corrected in Xcode 5.1 :
Xcode 5.1 release notes
Notes specifically mention :
Having just run into this in my own updated XCode 5 thought I'd share my similar resolutions.
I notice if I hit any breakpoint when running the test and simply continue it reports as passing, very odd indeed and unacceptable for running your whole suite...
I also noticed adding a usleep as someone mentioned, as well as doing a clean build prior to running the tests seems to resolve the issue. However creating a new test often re-introduces the issue at least for that new test. Hope Apple fixes this soon!
For me, I think this problem was linked to incorrect OCMock configuration. Removing OCMock (completely) and re-adding it to the project exactly as recommended by OCMock seems to have fixed it.
A couple specific things I did wrong:
#import "OCMock.h
instead of#import "OCMock/OCMock.h
. Xcode autocompleted the former.Anyways, with OCMock setup correctly my tests are working as they should
This appears to have been fixed in XCode 5.1.1