Same test. Different runtime -> Different behavior. Why?
That’s the pain of cross-platform development.
Especially when switching between async .NET and Unity coroutines.
Backend runner:
- ✔ works
Frame-spaced execution:
- ❌ blocks
- ❌ freezes
- ❌ partially executes
Runtimes often leak into behavior.
But a good abstraction should preserve semantics.
Changing runtime should only affect how execution happens, not what happens.
Execution strategies
With Xcepto.NET, the same test semantics can run with different execution strategies.
So whether a test runs asynchronously on .NET or frame-spaced inside Unity:
- Same transitions
- Same failure semantics
- Same timeout behavior