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]
