Slide 1

Slide 1 text

Avoiding Flapping JS Tests in Rails

Slide 2

Slide 2 text

Adam DeLong @DeLongShot Bell Park Software

Slide 3

Slide 3 text

Acceptance

Slide 4

Slide 4 text

Asynchronous Testing

Slide 5

Slide 5 text

Race Conditions

Slide 6

Slide 6 text

Test Thread Visit ‘/‘ Wait for response… Receive Response expect(page)…

Slide 7

Slide 7 text

Test Thread Visit ‘/‘ Wait for response… expect(page)… Wait for response… Background Thread Receive Request Formulating Response… Send Response Formulating Response…

Slide 8

Slide 8 text

Tips

Slide 9

Slide 9 text

UI

Slide 10

Slide 10 text

Action Methods

Slide 11

Slide 11 text

RSpec Matchers

Slide 12

Slide 12 text

Tools

Slide 13

Slide 13 text

Selenium Pros: Reliable Cons: Slow

Slide 14

Slide 14 text

Poltergeist Pros: Really Fast Cons: Flapping

Slide 15

Slide 15 text

Capybara-Webkit Pros: Fast Cons: Errors?

Slide 16

Slide 16 text

Resources

Slide 17

Slide 17 text

https://robots.thoughtbot.com/write-reliable-asynchronous-integration-tests-with- capybara Write Reliable, Asynchronous Integration Tests With Capybara