What is Xcepto?
Xcepto is a declarative system-test framework for distributed systems. It replaces manual retries, sleeping, and exception handling with a state-machine-based execution model aligned with Given-When-Then semantics.
Why Xcepto?
Traditional system tests rely on implicit timing assumptions that lead to non-deterministic results. Artificial workarounds — retries, gates, Thread.Sleep — pollute behavioral specification into an unmaintainable mess.
This becomes especially problematic in distributed systems where events are asynchronous and ordering is not guaranteed. Forcing determinism through ad-hoc workarounds obscures what the test is actually verifying.
Xcepto eliminates these issues by executing tests as condition-driven state machines. Steps are not executed immediately — they are compiled into a chain of states. The test passes when all states are satisfied before a timeout.
Available Implementations
| Platform | Package | Source |
|---|---|---|
| .NET | Xcepto, Xcepto.Rest, Xcepto.SSR, Xcepto.Testcontainers | Xcepto.NET |
| Java | org.xcepto:xceptoj, xceptoj-rest, xceptoj-ssr, xceptoj-rabbitmq | xceptoj |