public interface SuiteTransform extends com.google.common.base.Function<Iterable<org.junit.runner.Description>,Iterable<org.junit.runner.Description>>
NOTE: Transforms are applied recursively over the tests in runner tree. Transforms that drill down the description
tree (which reflects the runner tree) should only return top-level descriptions, as otherwise the tree structure
of runners and corresponding descriptions will be broken. Another implication is that a single transform instance
passed to the TransformingParentRunner
will be executed multiple
times on each branch of the runner/test tree that contains children. This has to be taken into consideration by complex
transforms maintaining internal state. The order of applying a single transform over elements of the tree is top-down
and first child to last (you may e.g. use sorting transform to sort the tree before you apply transforms that assume
some particular order of evaluated tests).
NOTE: it is a requirement that the returned iterable must be a copy of the original (i.e. not a modifying 'view' of it), so that changes applied on it will not be reflected in the original. To that end the input iterable is effectively immutable.
TransformingParentRunner
andThen, compose, identity
Copyright © 2002-2022 Atlassian. All Rights Reserved.