We've been building a project using TCA and then IsoWords structure of modularisation.
Last week the project suddenly stopped rendering any of the test diamonds (on the left of each test function) in the test files inside any of the packages that we have.
This has happened to everyone on the team. We've all been using Xcode 14.2 and I can't find any way to fix it.
I presume that there is something that we have done to cause this in the app. But I'm not sure what it might be?
Sorry this is light on information but I wondered if there is anyone that might be able to point me in the right direction to further debug this?
I've tried the usual stuff of deleting derived data, clean build folder, restart Xcode/laptop. I haven't tried re-cloning the project but a colleague has.
I'm not sure what to check now?
Hi! Can you please illustrate better the error that you’re getting when trying to run the tests?
Did you check if your test targets are included in active scheme? You can try add new scheme with only test target and check if it helps.
Hey, it's not an error. It just doesn't show any of the test feedback in the file. Like the diamonds in the left hand gutter with the test status.
Or any test failure messages.
However, I've deleted our
.swiftpm folder and recreated all the schemes from scratch and they're all back now.
It's really odd. Just so inconsistent.
Sadly this is an Xcode bug that started in 14.0. It's gotten a little better in 14.1 and 14.2, but it's still there. It also affects non-TCA applications. For example, here's the test suite for the Standups app in our swiftui-navigation library:
We usually have to clean+rebuild or restart Xcode to get the diamonds back.
We filed a Feedback in July 2022. Here's the # in case you want to duplicate it: FB10910099
Great thanks for the info.
I've noticed that other people online seem to be reporting it too.
Xcode does seem to be particularly inconsistent around managing schemes in project.
Incidentally, I completed nuked our schemes and recreated them and it seems to have solved it for now. So will remember that and keep it in mind for if/when it happens again.