ARMS2025 opened a new pull request, #54:
URL: https://github.com/apache/sling-org-apache-sling-servlets-resolver/pull/54

   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`**, the `getProperty` method, which is 
previously stubbed, is executed with arguments "sling.servlet.selectors" and 
"sling.servlet.methods" in the `assertAccept` method, but these specific 
arguments are not stubbed, leading to mismatch stubbings.
   
   + In the test **`extensionPropertyNotSet`**, the `getProperty` method, which 
is previously stubbed, is executed with arguments "sling.servlet.extensions", 
"sling.servlet.selectors", and "sling.servlet.methods" in the `assertAccept` 
method, but these specific arguments are not stubbed, leading to mismatch 
stubbings.
   
   + In the test **`selectorOneMatchesOne`**, the `getProperty` method, which 
is previously stubbed, is executed with arguments "sling.servlet.extensions" 
and "sling.servlet.methods" in the `assertAccept` method, but these specific 
arguments are not stubbed, leading to mismatch stubbings.
   
   + In the test **`selectorOneFromNInN`**, the `getProperty` method, which is 
previously stubbed, is executed with arguments "sling.servlet.extensions" and 
"sling.servlet.methods" in the `assertAccept` method, but these specific 
arguments are not stubbed, leading to mismatch stubbings.
   
   + In the test **`selectorZeroInN`**, the `getProperty` method, which is 
previously stubbed, is executed with the argument "sling.servlet.extensions" in 
the `assertAccept` method, but the specific argument is not stubbed, leading to 
a mismatch stubbing.
   
   + In the test **`selectorOneInN`**, the `getProperty` method, which is 
previously stubbed, is executed with arguments "sling.servlet.extensions" and 
"sling.servlet.methods" in the `assertAccept` method, but these specific 
arguments are not stubbed, leading to mismatch stubbings.
   
   + In the test **`selectorPropertyNotSet`**, the `getProperty` method, which 
is previously stubbed, is executed with arguments "sling.servlet.extensions", 
"sling.servlet.selectors", and "sling.servlet.methods" in the `assertAccept` 
method, but these specific arguments are not stubbed, leading to mismatch 
stubbings.
   
   + In the test **`methodNoMatch`**, the `getProperty` method, which is 
previously stubbed, is executed with arguments "sling.servlet.extensions" and 
"sling.servlet.selectors" in the `assertAccept` method, but these specific 
arguments are not stubbed, leading to mismatch stubbings.
   
   + In the test **`methodPropertyNotSet`**, the `getProperty` method, which is 
previously stubbed, is executed with arguments "sling.servlet.extensions" and 
"sling.servlet.selectors" in the `assertAccept` method, but these specific 
arguments are not stubbed, leading to mismatch stubbings.
   
   + In the test **`testStringStrictIn`**, the `getProperty` method, which is 
previously stubbed, is executed with arguments "sling.servlet.extensions" and 
"sling.servlet.selectors" in the `assertAccept` method, but these specific 
arguments are not stubbed, leading to mismatch stubbings.
   
   + In the test **`testEmptyExtensionAndSelectorWithEmpty`**, the 
`getProperty` method, which is previously stubbed, is executed with the 
argument "sling.servlet.methods" in the `assertAccept` method, but the specific 
argument is not stubbed, leading to a mismatch stubbing.
   
   + In the test **`testEmptyExtensionSpecificSelector`**, the `getProperty` 
method, which is previously stubbed, is executed with the argument 
"sling.servlet.methods" in the `assertAccept` method, but the specific argument 
is not stubbed, leading to a mismatch stubbing.
   
   + In the test **`testEmptySelectorSpecificExtension`**, the `getProperty` 
method, which is previously stubbed, is executed with the argument 
"sling.servlet.methods" in the `assertAccept` method, but the specific argument 
is not stubbed, leading to a mismatch stubbing.
   
   + In the test **`testEmptyMethodException`**, the `getProperty` method, 
which is previously stubbed, is executed with arguments 
"sling.servlet.extensions" and "sling.servlet.selectors" in the `assertAccept` 
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).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to