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

Fix flaky tests across multiple classes #457

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

Conversation

nikunjagarwal321
Copy link

@nikunjagarwal321 nikunjagarwal321 commented Oct 23, 2024

Description

Fix for 5 flaky tests which were found in multiple classes. The tests are as follows:

  • com.intuit.wasabi.analyticsobjects.statistics.EstimateTest#testBuilder
  • com.intuit.wasabi.analyticsobjects.EventTest#testHashCode
  • com.intuit.wasabi.authenticationobjects.LoginTokenTest#testAssignmentFromOther
  • com.intuit.wasabi.authenticationobjects.LoginCredentialsTest#testHashCodeAndEquals
  • com.intuit.wasabi.experimentobjects.PageExperimentTest#testHashCode

Steps to reproduce

This was identified by running NonDex.
The flaky tests can be found when running the following command:
mvn edu.illinois:nondex-maven-plugin:2.1.7:nondex -Dtest={test}

Failure

Screenshot 2024-10-22 at 8 10 07 PM

Reason for failure

The flaky nature of the test case is due to the HashCodeBuilder.reflectionHashCode() function. The function internally uses getDeclaredFields() method which does not maintain the order in which the fields are fetched.

Expected Behaviour

The hashCode() method should return same value for same objects irrespective of the fields order.

Actual Behaviour

The test is failing since it is returning different hashcode values

Solution

In order to fix this, we are now defining a fixed order in which the fields get appended in hashCode() method.

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

Successfully merging this pull request may close these issues.

1 participant