JUnit Foundation is a lightweight collection of JUnit watchers, interfaces, and static utility classes that supplement and augment the functionality provided by the JUnit API.
Note that this description was copied from scribbled notes. It will probably be necessary to crack open the related code to truly understand what it means.
Description doesn't fully resolve for JUnitParams until Parameterized...Runner.runTestMethod(). Only JUnitParams needs Runnable.
EachTestNotifier constructor is the first core method to get the fully resolved Description.
Intercept EachTestNotifier.fireTestStarted() and EachTestNotifier.fireTestFinished().
Every Statement includes the target object.
Intercept the methodBlock() method. This has runner and method, which are unique enough to work if values are collected as a queue. In the EachTestNotifier intercept, map from Description to target, draining the **MethodBlock queue.
Note that this description was copied from scribbled notes. It will probably be necessary to crack open the related code to truly understand what it means.
Description doesn't fully resolve for JUnitParams until
Parameterized...Runner.runTestMethod()
. Only JUnitParams needsRunnable
. EachTestNotifier constructor is the first core method to get the fully resolved Description.EachTestNotifier.fireTestStarted()
andEachTestNotifier.fireTestFinished()
.methodBlock()
method. This has runner and method, which are unique enough to work if values are collected as a queue. In the EachTestNotifier intercept, map from Description to target, draining the **MethodBlock queue.