Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation:
The following tests are not idempotent and fail in repeated runs in the same environment, because it pollutes a state reused by itself:
Take
StateMachineUnNormalTest#testConditionNotMeet
as an example: it constructs a state machine with a fixed ID"NotMeetConditionMachine"
. Then, in the second run, an error will be thrown since the state machine with ID"NotMeetConditionMachine"
already exists. A fix is recommended since unit tests should be idempotent (deterministically passing in repeated runs).Stacktrace of failure in the second run:
Reproduce:
Using the
NIOInspector
plugin that supports rerunning JUnit tests in the same environment. UseStateMachineTest#testMultiThread
as an example:Proposed Fix
Assign a unique ID to each state machine used for testing.