Skip to main content

Same test. Different runtime. Different behavior. Why?

· One min read
Daniel Maß
Maintainer of Xcepto

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, 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

The test describes the expected behavior once. The execution strategy is a separate concern. The two never mix.


Originally published on themassiveone.net.