Posts

Same test. Different runtime -> Different behavior. Why?

How execution strategies let one test definition run across different runtimes without changing intent.

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

Xcepto.NET