This chapter contains a comprehensive summary of the advance capabilities to write rich Jupiter tests driven by examples. First, we have learned that parameters can be injected in constructor and methods in test classes. JUnit 5 provides three parameter resolvers out of the box, namely resolver for parameters of the type TestInfo (to retrieve information about the current test), resolver for parameters of the type RepetitionInfo (to retrieve information about the current repetition), and resolver for parameters of the type TestReporter (to publish additional data about the current test run).
Another new feature implemented in Jupiter is the concept of dynamic tests. So far in JUnit 3 and 4, tests are defined at compile time (that is static tests). Jupiter introduces the annotation @TestFactory that allows to generate test at runtime. Another new concept...