Tests that do not depend on each otheradvanced
xUnit runs classes in parallel, so one shared static context means two tests writing to the same store — the suite that passes locally and fails on CI, non-deterministically.
Shared state, a static context and a blocking .Result. Make every test independent.
No shared state, a unique store per test, async throughout, and two tests that cannot see each other.
Published in full, before you start — every point is one of these and there is nothing else.
xUnit runs classes in parallel, so one shared static context means two tests writing to the same store — the suite that passes locally and fails on CI, non-deterministically.
Calling .Result on a task blocks a thread that could have served another request, and under load that is the deadlock everyone has a story about — await is how you wait without holding anything up.