Changelog:
New features:
- Null-safe paths in rendered values. Rendered chained paths now accept the
?.safe-call operator —order?.customer?.name,fixtures[X]?.foo,outputs("k")?.bar— which were previously dropped from value substitution (#144). - Test parameters rendered through registered renderers. Parameter values, the parameterised test description shown in the test header, and the suite search index now all honour registered value renderers, and each parameter is rendered exactly once (no more double-rendering when a
Stringrenderer is registered) (#145). - Parameter-derived fixtures. A
parameterFixture("key", from = "paramName") { … }(Kotlin) /createParameterFixture(...)(Java) is registered by name — so it resolves infixtures[…]interpolation — and derives its value per invocation from a named parameterised-test argument, seeded before the test body so it's usable both in the test and in the rendered sentence. Secondary fixtures can derive from one (#148).
Changed:
- Consistent lowercase
nullrendering. Captured null values now render as lowercasenulleverywhere, matching the source-literalnullkeyword and the UI's null styling (previously an inconsistentNULL, which made an actual null display as a quoted string) (#146).
Fixes:
- No ConcurrentModificationException in sequence diagrams under parallel execution.
SequenceDiagramFactoryis now safe when tests run in parallel (#142). dataOnlyis authoritative overoutputDirin site mode.