5

rspec テストがたくさんありますが、そのうち約 30 はカピバラ/ポルターガイストによるヘッドレス テストです。テストをローカルで実行するたびに、すべてのテストが 100% 成功します。

最近、teamcity 継続的インテグレーション サーバーをセットアップしましたが、テスト結果は非常に一貫性がありませんでした。

テスト間で何も変更せずに、テストを 10 回実行しました。100% パスしたラウンドは 1 つだけでした。他のものには 1 ~ 2 回の失敗があり (ほとんどは同じではありませんでした)、すべてヘッドレス ブラウザーのテストに関連していました。失敗例の 1 つを次に示します。

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'

ID を使用してアドレスを検索し、factorygirl モデルを返す関数をスタブ化したため、この失敗は奇妙です。ローカルではこの問題はありません。

テスト実行の 1 つからの別のエラーを次に示します。

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)>'

繰り返しますが、これをローカルで実行すると、このエラーは発生しません。セレンに切り替えてテストを見ると、リンクは明らかにそこにあります。

これらのエラー (すべてではありませんが、いくつかの例) は、プロジェクトを更新することなく、異なる実行で個別に発生しました。なぜこれが起こっているのか誰にも考えがありますか?

rspec-rails 2.14.0 カピバラ 2.1 ポルターガイスト 1.3.0 レール 3.2.14 ルビー 1.9.3 p448

4

3 に答える 3

2

ポルターガイストには、信頼性の低いクリック音の原因となっているバグがあることが判明しました。ここでバグの議論に従うことができます:

https://github.com/teampoltergeist/poltergeist/issues/530

于 2016-02-15T23:11:27.333 に答える