Removed 11 unnecessary stubbings in ChangesSinceLastSuccessfulBuildMacroTest.java #195
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.
Testing done
In our analysis of the project, we observed that
3 unnecessary stubbings which stubbed
getChangeSetmethod,getChangeSetsmethod, andgetNumbermethod inChangesSinceLastSuccessfulBuildMacroTest.createBuildare created but are only executed by some of the method calls in the testChangesSinceLastSuccessfulBuildMacroTest.testGetContent_shouldGetPreviousBuildsThatArentSuccessful_HUDSON3519. We duplicated thecreateBuildmethod, removed the unnecessary stubbings, named itcreateBuild2, and applied the new method to the method call which does not execute the stubbings in the test.2 unnecessary stubbings which stubbed
getResultmethod,getChangeSetmethod inChangesSinceLastSuccessfulBuildMacroTest.createBuildWithAffectedFilesare are only executed by some of the method calls in 8 tests:ChangesSinceLastSuccessfulBuildMacroTest.testGetContent_shouldGetPreviousBuildFailures,ChangesSinceLastSuccessfulBuildMacroTest.testGetContent_whenReverseOrderIsTrueShouldReverseOrderOfChanges,ChangesSinceLastSuccessfulBuildMacroTest.testGetContent_shouldGetPreviousBuildsThatArentSuccessful_HUDSON3519,ChangesSinceLastSuccessfulBuildMacroTest.testShouldPrintDate,ChangesSinceLastSuccessfulBuildMacroTest.testShouldPrintRevision,ChangesSinceLastSuccessfulBuildMacroTest.testShouldPrintPath,ChangesSinceLastSuccessfulBuildMacroTest.testWhenShowPathsIsTrueShouldPrintPath,ChangesSinceLastSuccessfulBuildMacroTest.testRegexReplace;We duplicated the
createBuildmethod, removed the unnecessary stubbings, named itcreateBuild3, and applied the new method to the method call which does not execute the stubbings in the test.1 unnecessary stubbing which stubbed
getResultmethod inChangesSinceLastSuccessfulBuildMacroTest.createBuildWithNoChangeSetsis created but is never executed. We removed it.2 unnecessary stubbings which stubbed
getResultmethod,getChangeSetmethod inChangesSinceLastSuccessfulBuildMacroTest.createBuildWithNoChangesare created but are never executed. WE removed them1 unnecessary stubbing which stubbed
iteratormethod inChangesSinceLastSuccessfulBuildMacroTest.createChangeLogis created but is only executed by some of the method calls in the testChangesSinceLastSuccessfulBuildMacroTest.testGetContent_shouldGetPreviousBuildsThatArentSuccessful_HUDSON3519.We duplicated the method, removed the unnecessary stubbings from the new duplicated method, named itcreateChangeLog2, and applied to the specific method call that doesn't execute the stubbing.1 unnecessary stubbing which stubbed
iteratormethod inChangesSinceLastSuccessfulBuildMacroTest.createBuildWithAffectedFiles.createEmptyChangeLogis created but is never executed. We removed it.1 unnecessary stubbing in the test 'ChangesSinceLastSuccessfulBuildMacroTest.testGetContent_shouldGetPreviousBuildsThatArentSuccessful_HUDSON3519' is created but never executed. We removed it.
1 unnecessary stubbing in the test 'ChangesSinceLastSuccessfulBuildMacroTest. testGetContent_whenReverseOrderIsTrueShouldReverseOrderOfChanges' is created but never executed. We removed it.
Unnecessary stubbings are stubbed method calls that were never realized during test execution. Mockito recommends to remove unnecessary stubbings (https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/exceptions/misusing/UnnecessaryStubbingException.html).
We propose below a solution to remove the unnecessary stubbings.