Resolve 3 mismatch stubbings PathBasedServletAcceptorTest.java #54
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.
We are researchers and analyzed the test doubles (mocks) in the test code of the project. In our analysis of the project, we observed that
In the test
extensionMatchOneInN
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.selectors" and "sling.servlet.methods" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
extensionPropertyNotSet
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions", "sling.servlet.selectors", and "sling.servlet.methods" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
selectorOneMatchesOne
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions" and "sling.servlet.methods" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
selectorOneFromNInN
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions" and "sling.servlet.methods" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
selectorZeroInN
, thegetProperty
method, which is previously stubbed, is executed with the argument "sling.servlet.extensions" in theassertAccept
method, but the specific argument is not stubbed, leading to a mismatch stubbing.In the test
selectorOneInN
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions" and "sling.servlet.methods" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
selectorPropertyNotSet
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions", "sling.servlet.selectors", and "sling.servlet.methods" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
methodNoMatch
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions" and "sling.servlet.selectors" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
methodPropertyNotSet
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions" and "sling.servlet.selectors" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
testStringStrictIn
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions" and "sling.servlet.selectors" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In the test
testEmptyExtensionAndSelectorWithEmpty
, thegetProperty
method, which is previously stubbed, is executed with the argument "sling.servlet.methods" in theassertAccept
method, but the specific argument is not stubbed, leading to a mismatch stubbing.In the test
testEmptyExtensionSpecificSelector
, thegetProperty
method, which is previously stubbed, is executed with the argument "sling.servlet.methods" in theassertAccept
method, but the specific argument is not stubbed, leading to a mismatch stubbing.In the test
testEmptySelectorSpecificExtension
, thegetProperty
method, which is previously stubbed, is executed with the argument "sling.servlet.methods" in theassertAccept
method, but the specific argument is not stubbed, leading to a mismatch stubbing.In the test
testEmptyMethodException
, thegetProperty
method, which is previously stubbed, is executed with arguments "sling.servlet.extensions" and "sling.servlet.selectors" in theassertAccept
method, but these specific arguments are not stubbed, leading to mismatch stubbings.In this pull request, we propose a solution to resolve the mismatch stubbing. This solution has the lowest cognitive complexity (https://www.npmjs.com/package/@genese/complexity#7-cognitive-complexity)
compared to alternative solutions. If preferred, we can submit a pull request with alternative solutions.
Mismatched stubbing occurs when a mocked method is stubbed with specific arguments in a test but later invoked with different arguments in the code, potentially causing unexpected behavior. Mockito recommends addressing these issues, (https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/exceptions/misusing/PotentialStubbingProblem.html).