問題タブ [database-cleaner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
198 参照

database - cucumber と databasecleaner を使用する場合、テーブルに単一のエントリを保持できますか?

現在、cucumber と databasecleaner を使用してアプリケーションをテストしています。そして現在、私env.rbはクリーナーのセットアップを次のようにしています:

このようにして、データを保持できますTABLE。しかし、テスト間で別のテーブルに単一のエントリを保持したいとも考えています。Beforeそれを達成する方法はありますか、それともフックで常に再作成する必要がありますか?

0 投票する
3 に答える
1416 参照

ruby-on-rails - capybara を 1.0.1 から 1.1.4 にアップグレードすると、database_cleaner が仕様を壊す

バージョン 3.2.11 にアップグレードされた古い Rails アプリケーションがあります。このアプリケーションには、カピバラ バージョン 1.0.1 を使用して記述され、セレン ドライバーを使用して実行される多くの要求仕様があります。データベースは、切り捨て戦略を使用して database_cleaner を使用して各テストの後にクリーンアップされます。

Selenium の代わりにポルターガイストを使用したいので、カピバラを 1.0.1 から 1.1.4 にアップグレードして、最新バージョンのポルターガイストを使用できるようにしました。capybara gem (およびその依存関係) を変更しただけで、仕様の実行に問題が発生しました。

各仕様の後、クリーンアップ ハンドラーで Postgresql データベースから一貫してデッドロック エラーが発生します。私の spec_helper はかなり基本的なもので、次のようになります。

私が得るエラーは次のようなものです:

FactoryGirl を使用してテスト データを作成しますが、それ以外は特別な IMO はありません。

database_cleaner によって作成されたデッドロックのもう一方の端を保持しているものを理解できませんでした。それを理解するためのアイデアは大歓迎です。

カピバラ 1.0.1 と 1.1.4 の間に変更があり、これらの問題を引き起こし始めた可能性があることを知っている人はいますか?

0 投票する
1 に答える
1391 参照

ruby-on-rails - database.ymlと複数のデータベースを含まないdatabase_cleaner

Rails以外のアプリケーションのキュウリテストがあります。

プロジェクトにdatabase.ymlがありませんが、何らかの理由でデータベース.ymlを使用したくありません(接続設定は少し異なる形式で保存されます)。

私はいくつかのデータベースモデルを持っています。

今、そのデータベースをクリーンアップするために、私は次のコードを使用しようとしています。私はdatabase.ymlを持っていないので、モデルを渡すだけです。

しかし、それはActiveRecord :: Baseによって接続されたデータベースのみをクリーンアップし、DatabaseAとDatabaseBはクリーンアップしません。何が問題なのですか?

0 投票する
1 に答える
1460 参照

ruby-on-rails - RailsRspecCapybaraとDatabaseCleaner-機能テストでのみ切り捨てを使用

データベースクリーナーのみを使用するこのクールな方法を見ました:js=>trueを使用したカピバラテストの切り捨て

spec_helper.rb内:

問題は、capybaraで行われる機能テストでは、クリーニング戦略を:truncationにする必要があるように思われることです。

ただし、他のすべての仕様は、大幅に高速な:transactionで問題ありません。

カピバラ機能テストのみの戦略を指定する方法はありますか?何かのようなもの:

0 投票する
0 に答える
440 参照

cucumber - DatabaseCleaner 戦略トランザクションが機能していません

私のenv.rbで

私のshared_steps.rbにもフックを作成しました

マイ機能ファイル内

私は宝石を使用しています:

私のデータベースで.rb

DatabaseCleaner.strategy = :trancation は正常に動作しています (データベースからすべてのレコードを削除します) が、DatabaseCleaner.strategy = :transaction がデータベース レコードをロールバックしていません。私は何かを逃していますか?

0 投票する
1 に答える
309 参照

ruby-on-rails - Rails database_cleaner はデータベース全体を消去します

database_cleaner gemを使用してスペックのクリーニングを設定しようとしています。私のspec_helper.rbには、次の簡単な構成があります。

ただし、仕様を実行すると、DatabaseCleaner.clean の実行後にデータベースが完全に消去されることに気付きました。テストの影響のみをクリーンアップすることを意図していると確信しています...そのような動作を引き起こす可能性のあるアイデアはありますか?

0 投票する
2 に答える
7443 参照

ruby-on-rails - Rspecが非常に遅い

私のrspecテストは、ガードとスポークを使用しても非常に遅く実行されるようです。

テストを最適化し、データベースとの相互作用を減らすためにできることがいくつかあることを理解していますが、spec_helperが正しく設定されていないことを強く疑っています。私はモンゴイドでレール3.2.11にいます。データベースクリーナーは、実行するたびにクリーンアップします。

更新:問題は私のテストの1つにありました。3秒かかっていました。以下の結果を得るために使用したコマンドについては、@SamPeaceyの回答を確認してください。

0 投票する
1 に答える
630 参照

javascript - カブと Database_cleaner の構成

カブと Ruby on Railsを使用しています。JavaScript を使用するシナリオと使用しないシナリオがあります。transactionJavaScript 以外のシナリオには DatabaseCleaner 戦略を使用し、などでtruncationマークされたシナリオには戦略を使用したいと考えています。@javascript@selenium

Rspec機能には次のソリューションを使用しています

しかし、カブの場合はうまくいきません。期待どおりに動作させるための最良の方法は何ですか? または、言い換えると、@javascript(または@seleniumおよびなど)タグでマークされたカブのシナリオをどのように指定するのconfig.beforeですか?

0 投票する
5 に答える
5873 参照

ruby - ミニテストレールでデータベースクリーナーが機能しない

Minitest コントローラー テストは、単独で実行すると正常に動作しますrake minitest:controllersが、実行するrake minitest:allと検証失敗エラーが発生します。これは、電子メールがモデル テストで既に使用されているためです。DatabaseCleaner を使用してデータベースをクリーンアップしましたが、データベースをクリーンアップできませんでした。

データベースクリーナーの私のコード:

0 投票する
1 に答える
331 参照

ruby-on-rails - データベースのクリーニングがないか、データベースが空です

テスト スイートを機能させることができません。さまざまな構成を組み合わせて一致させようとしました。しかし、このビューの結果はすべて同じです。テスト間で何もクリーンアップされないか、データベースが空です。

この種のエラーが発生します:

何も掃除していないとき

またはこれ、空の DB :

database_cleaner の有無にかかわらず試してみました。Spork なしで試しました。たとえば、さまざまなソースからさまざまな構成を試しました。

http://devblog.avdi.org/2012/08/31/configuring-database_cleaner-with-rails-rspec-capybara-and-selenium/

https://github.com/bmabey/database_cleaner#rspec-example

しかし、私はそれを機能させる方法を理解できません。

gems バージョンを含む Gemfile は次のとおりです。

ビューは次のとおりです。

2 つのモデル:

そして対応するスペック

これが私のspec_helper.rbです

それは何か提案ですか?