Skip to main content
Version: 6.2.0 (Unmaintained)

Best Practices

Prefer explicit trees​

Name every meaningful action so console output, reports, and descriptors are readable.

import static org.paramixel.api.action.Sequential.sequential;
import static org.paramixel.api.action.Step.step;

sequential("checkout")
.child(step("add item", ctx -> addItem()))
.child(step("submit payment", ctx -> submitPayment()));

Isolate parallel work​

Parallel children should not mutate shared state unless synchronization is explicit and minimal.

Use tags for intent​

Use repeatable @Paramixel.Tag values such as smoke, critical, or slow. Select them with paramixel.match.tag.regex or Selector.tagRegex(...).

Keep configuration simple​

Use paramixel.properties for defaults, system properties for CI overrides, and programmatic Configuration objects for custom runner setup.