2016-10-11 6 views
0

JS機能テストを単独で実行すると正常に動作します。RspecとCapybaraのテストパスが分離され、一緒に実行できない

テストスイートを実行すると失敗します。

私は 'rspec spec'で '--bisect'を実行し、失敗を生成する1つのテストを返します。

スペック: https://gist.github.com/lfgdz/c56481ce88cdb80750fa6d98f0ec1a4d

spec_helper: https://gist.github.com/lfgdz/08b1b82d2a36aaf7929af79b04c652c1

+0

どの特定の仕様が失敗しますか?それが失敗するとどうなりますか?質問がそれ自身で立つための十分な情報を含めてください。 –

+1

あなたはリレーショナルデータベースも使用していますか?私はテスト後にクリーンアップのためのdatabasecleanerのようなものを見ない。 – slowjack2k

+0

** 012行目に失敗しました:** expect(ページ).to have_content( 'プロフィールの編集ページからLinkedInで再接続する必要があります') –

答えて

0

スペックが孤立して渡すが、一緒に実行すると失敗すると、それらの間で漏れていますいくつかの相互依存性や情報がなければなりません。それはあなたがトランザクション内の各仕様をラップしないようにRSpecのを求めてきました意味、RSpec Transactions DOCパー

config.use_transactional_fixtures = false 

:@ slowjack2kとして

はあなたのspec_helper.rb指定、と述べました。つまり、ある仕様の間に行われたデータベースの変更は、標準的な単体テストとCapybaraの機能テストを含む他の仕様に影響を与える可能性があります。

トランザクションフィクスチャをオフにする必要がある場合は、database_cleanerなどのメカニズムを使用して、ある仕様の変更が他の仕様と干渉しないようにする必要があります。

関連する問題