Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed 4 unnecessary stubbings in RoundhouseActionTest.java #224

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ARUS2023
Copy link

@ARUS2023 ARUS2023 commented Oct 6, 2023

Testing done

Submitter checklist

Edit tasklist title
Beta Give feedback Tasklist Submitter checklist, more options

Delete tasklist

Delete tasklist block?
Are you sure? All relationships in this tasklist will be removed.
  1. Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
    Options
  2. Ensure that the pull request title represents the desired changelog entry
    Options
  3. Please describe what you did
    Options
  4. Link to relevant issues in GitHub or Jira
    Options
  5. Link to relevant pull requests, esp. upstream and downstream changes
    Options
  6. Ensure you have provided tests - that demonstrates feature works or fixes the issue
    Options

In our analysis of the project, we observed that

  1. 1 unnecessary stubbing which stubbed getResult method in RoundhouseActionTest.setUp is created but is never executed by the test RoundhouseActionTest.testGetProjectActionsFromLastProjectBuild;

  2. 4 unnecessary stubbings RoundhouseActionTest.setUp are created but are never executed by 2 tests RoundhouseActionTest.testAccessors, RoundhouseActionTest.testGetProjectActions;

  3. 3 unnecessary stubbings which stubbed getParent method, getLastCompletedBuild method, getActions method in RoundhouseActionTest.setUp are created but never executed by the tests RoundhouseActionTest.testGetStyleFromRunResult.

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.

@ARUS2023 ARUS2023 requested a review from a team as a code owner October 6, 2023 01:43
import hudson.model.Run;
import junit.framework.TestCase;

public class SecondRoundhouseActionTest extends TestCase {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use JUnit 4 rather than JUnit 3 for the tests. JUnit 4 is more familiar to Jenkins developers and is widely used in Jenkins plugins. See the stackoverflow article for more details on why JUnit 4 annotations are better than JUnit 3 inheritance.

Note that this suggestion won't compile if you apply it directly.

Suggested change
public class SecondRoundhouseActionTest extends TestCase {
public class SecondRoundhouseActionTest {

import hudson.model.Run;
import junit.framework.TestCase;

public class ThirdRoundhouseActionTest extends TestCase {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use JUnit 4 rather than JUnit 3 for the tests. JUnit 4 is more familiar to Jenkins developers and is widely used in Jenkins plugins. See the stackoverflow article for more details on why JUnit 4 annotations are better than JUnit 3 inheritance.

Note that this suggestion won't compile if applied directly. Switching to JUnit 4 requires more than this single change.

Suggested change
public class ThirdRoundhouseActionTest extends TestCase {
public class ThirdRoundhouseActionTest {

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants