Ich habe eine Reihe von rspec Tests und etwa 30 davon sind kopflose Tests durch Capybara/Poltergeist. Jedes Mal wenn ich die Tests lokal durchführe, werden alle 100% der Tests bestanden.rspec/capybara/poltergeist Tests passieren 100% lokal, zufällige Tests scheitern auf Teamcity CI Server
Ich habe vor kurzem einen Teamcity-Server für die kontinuierliche Integration eingerichtet, und die Testergebnisse waren äußerst inkonsistent.
Ich führte die Tests 10 Mal, ohne irgendwelche Änderungen zwischen den Tests zu tun. Nur 1 der Runden hat 100% bestanden. Die anderen hatten 1-2 Fehler (die meisten waren nicht gleich), alles in Bezug auf die kopflosen Browser-Tests. Hier ist ein Beispiel für eine der Ausfälle:
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'
Dieser Fehler ist seltsam, weil ich die Funktion Stub, die mit einer ID für eine Adresse sucht und gibt ein Modell factory. Ich habe dieses Problem nicht lokal.
Hier ist ein weiterer Fehler von einem der Testläufe:
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)>'
Auch wenn ich diese lokal ausgeführt, dieser Fehler nicht passiert, und wenn ich an Selen wechseln und den Test sehen, die Verbindung ist eindeutig da.
Diese beiden Fehler (nicht alle, aber ein paar Beispiele) traten einzeln bei verschiedenen Läufen auf, ohne dass das Projekt aktualisiert wurde. Hat jemand irgendwelche Ideen, warum das passiert?
rspec-Schienen 2.14.0 Capybara 2.1 Poltergeist 1.3.0 Schienen 3.2.14 Rubin 1.9.3 P448