Mam kilka testów rspec i około 30 z nich to testy bezgłowe przez kapibarę/poltergeista. Za każdym razem, gdy przeprowadzam testy lokalnie, wszystkie 100% testów przechodzi.Testy rspec/capybara/poltergeist przechodzą w 100% lokalnie, losowe testy kończą się niepowodzeniem na serwerze CI zespołowego
Niedawno skonfigurowałem serwer ciągłej integracji dla zespołu firmy i wyniki testów były bardzo niespójne.
Przeprowadziłem testy 10 razy, nie robiąc żadnych zmian między testami. Tylko 1 runda minęła 100%. Pozostali mieli 1-2 awarie (większość z nich nie była taka sama), wszystkie związane z testowaniem bezgłowego przeglądarki. Oto przykład jednego z awariami:
ActionView::Template::Error: Couldn't find Spree::Address with id=1072978592
Stack trace:
./app/models/spree/order_decorator.rb:50:in `initialize_default_address'
./app/models/spree/order_decorator.rb:42:in `initialize_shipment'
./app/views/layouts/core.html.erb:23:in `_8cb98e121af585621c1d08e3ec1f6022'
./app/views/layouts/default.html.erb:14:in `_588b3208edc213a939dffd2ad73f4f26'
Ta porażka jest dziwne bo zgaszone funkcję, która wygląda adresu z identyfikatora i zwraca model factorygirl. Nie mam tego problemu lokalnie.
Oto kolejny błąd z jednego z przebiegów testowych:
Capybara::ExpectationNotMet: expected to find link "10" but there were no matches
Stack trace:
./spec/features/simply_ship_spec.rb:102:in `block (2 levels) in <top (required)>'
Ponownie, gdy uruchamiam to lokalnie, ten błąd się nie dzieje, a kiedy przejść do selenu i oglądać test, link wyraźnie tam jest.
Oba te błędy (nie wszystkie, ale kilka przykładów) zdarzały się indywidualnie, w różnych seriach, bez wykonywania jakichkolwiek aktualizacji projektu. Czy ktoś ma jakieś pomysły, dlaczego tak się dzieje?
rspec barierki 2.14.0 Kapibara 2.1 poltergeist 1.3.0 szyny 3.2.14 Ruby 1.9.3 P448