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

Flaky spec: Polls Concerns behaves like notifiable in-app Multiple users commented on my notifiable #1271

Closed
3 tasks
MariaCheca opened this issue Feb 16, 2018 · 2 comments
Assignees

Comments

@MariaCheca
Copy link

MariaCheca commented Feb 16, 2018

Tests that fail randomly are called "flakies", this one seems to be one:

Randomized seed: 6508

Travis failed build: https://travis-ci.org/AyuntamientoMadrid/consul/jobs/341029344

1) Polls Concerns behaves like notifiable in-app Multiple users commented on my notifiable
     Failure/Error: find(".icon-notification").click
     Capybara::ElementNotFound:
       Unable to find visible css ".icon-notification"
     Shared Example Group: "notifiable in-app" called from ./spec/features/polls/polls_spec.rb:6
     # ./spec/shared/features/notifiable_in_app.rb:35:in `block (2 levels) in <top (required)>'

How

  • Explain why the test is flaky, or under which conditions/scenario it fails randomly
  • Explain why your PR fixes it
  • Create a backport PR to consul/consul when the fixing PR is approved

Tips for flaky hunting

Random values issues

If the problem comes from randomly generated values, running multiple times a single spec could help you reproduce the failure by running at your command line:

for run in {1..10}
do
  bin/rspec ./spec/features/budgets/investments_spec.rb:256
done

You can also try running a single spec in Travis:
Add option :focus to the spec and push your branch to Github, for example:

scenario 'Show', :focus do

But remember to remove that :focus changes afterwards when submitting your PR changes!

Test order issues

Running specs in the order they failed may discover that the problem is that a previous test sets an state in the test environment that makes our flaky fail/pass. Tests should be independent from the rest.

After executing rspec you can see the seed used, add it as an option to rspec, for example:
bin/rspec --seed 55638 (check Randomized seed value at beginning of issue)

Other things to look for

@MariaCheca MariaCheca changed the title Flaky spec: olls Concerns behaves like notifiable in-app Multiple users commented on my notifiable Flaky spec: Polls Concerns behaves like notifiable in-app Multiple users commented on my notifiable Feb 16, 2018
@iagirre
Copy link

iagirre commented Feb 21, 2018

I'll do this.

@voodoorai2000
Copy link

Closed via #1294

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

No branches or pull requests

4 participants