Introduction
Paramixel builds tests from action trees. Instead of hiding execution in a method runner, a test declares a tree of Action instances built through Builder subtypes. The Runner resolves the tree, executes it, and returns a Result with a descriptor tree and aggregate status.
Core model
- An
Actionis an immutable execution unit with adisplayName(). The sealed interface has 10 concrete subtypes. - A
Builderis a mutable builder that produces anActionviabuild(). Seven subtypes correspond to configurable action types. - A
Descriptorrepresents one execution occurrence of an action. - A
Statusis one ofPENDING,RUNNING,PASSED,FAILED,SKIPPED, orABORTED. - Discovery finds public static factory methods annotated with
@Paramixel.Factory.
When to use Paramixel
Use Paramixel when a test benefits from explicit composition: setup/body/teardown lifecycles, parallel branches, fixture-scoped steps, tag-based selection, and reports that mirror the execution tree.
Configuration model
Paramixel uses property-based configuration. Put defaults in paramixel.properties, pass JVM system properties with -D, or construct programmatic Configuration objects for custom runners.