-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
[Backwards Breaking change 2.22] Faker is reliably generating duplicate values #2534
Comments
@sudeeptarlekar Flagging this to for your attention |
This was fixed as a part for this issue #2487. In this case as we are running two test files, which generates the reproducible random values and looks valid, but let's hear out other's thought about this. Thanks for pointing this out. What are your thoughts @stefannibrasil @psibi @Zeragamba @koic ? |
For those that are curious, this came about because my code checks for double entries. If the first_name and last_name are repeated with in the last X minutes, then it flags it as a double entry. Because the "random" values re-appear from test case to test case, the code correctly... or incorrectly... notices the duplicate values and barfs. |
May be we can add some kind of config, thoughts? |
While, this is being figured out, would the repo accept a README.markdown update to notify people of the change of behavior for rails tests? (So others do not run into this same problem?) |
would the changes being proposed by #2471 help resolve this issue? |
Checking the changes you mentioned @Zeragamba, but meanwhile can't we add following line to
After adding above code in test and rails helpers, I am not getting duplicate error anymore. What are your thoughts @danlo? |
Thank you for reporting this issue and providing the reproduction steps @danlo. Sorry I missed this for a while. Just out of curiosity, I was not able to reproduce this bug with RSpec, only with Minitest. Since this bug report seems to happen only on a very specific case, I'd vote for adding this to the documentation. Adding @danlo are you okay with opening a PR to add the following extra configuration for this scenario? |
Please review #2579 so we can close this issue. Thank you! |
Thank you. I've been wanting to handle this however, work has been hard on me. |
Bug report
Versions
Faker 2.22 (Only this one, tested 2.20, 2.21), Rails 7.0.3.1
Ubuntu 20.04 LTS
Describe the bug
Sets of values are being generated in a non-random fashion.
To Reproduce
Execute the following code from a rails command line.
Rails 7.0.3.1 command line
test/rand_test1.rb
test/rand_test2.rb
Expected behavior
Data is truly randomly generated
Additional context
This is not happening in 2.21 and only is reproducible in 2.22
The requirements for this to happen, is there MUST BE 2 rails tests (individual files).
This is due to this patch: 04d2703
I confirmed this by appending this code to the end of my test_helper.rb to monkey patch test it. I would remove the
.new
on end ofRandom
and try it.Suspicion(s)
I suspect, the issue, may be that the Rails test code is re-seeding the
Random
with the same seed at the beginning of every test case. Previously usingRandom.new
gave Faker it's own random number generator, which was setup for the entire run of the test suite.The text was updated successfully, but these errors were encountered: