27 lines
1.5 KiB
Plaintext
27 lines
1.5 KiB
Plaintext
Captured from a real `junit-platform-console-standalone --details=tree` run against
|
|
SharedMutableArgumentAntiPatternTest, compiled and executed for real (badSharedConfigAccumulatesTouches
|
|
stays @Disabled here so the module's build remains green; see
|
|
docs/output/09-shared-mutable-argument-failure.txt for what it produces when that annotation is
|
|
removed).
|
|
|
|
╷
|
|
├─ JUnit Platform Suite ✔
|
|
├─ JUnit Jupiter ✔
|
|
│ └─ SharedMutableArgumentAntiPatternTest ✔
|
|
│ ├─ badSharedConfigAccumulatesTouches(Config) ↷ Kept disabled so the module's build stays green -- see docs/output/09-shared-mutable-argument-failure.txt for the real failure this produces on its second invocation when the @Disabled annotation is removed.
|
|
│ └─ goodFreshConfigIsAlwaysTouchedOnce(Config) ✔
|
|
│ ├─ [1] Config[callCount=0] ✔
|
|
│ └─ [2] Config[callCount=0] ✔
|
|
└─ JUnit Vintage ✔
|
|
|
|
Test run finished after 161 ms
|
|
[ 2 tests successful ]
|
|
[ 0 tests failed ]
|
|
|
|
freshProvider() builds a new Config() inside the Stream for each Arguments.of(...) call, so each
|
|
invocation gets its own isolated instance -- the whole fix is that simple. Both display names
|
|
read Config[callCount=0], which is correct and not a bug: JUnit resolves each invocation's
|
|
display name from the argument's toString() at argument-resolution time, before the test method
|
|
body (and its config.touch() call) has run, so callCount is still 0 at the moment the name is
|
|
built even though the assertion afterwards confirms it becomes 1.
|