問題タブ [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.
ruby-on-rails - DatabaseCleaner が特定のテーブルをリセットしないことは可能ですか?
Database Cleaner は、特定のテーブルを除くすべてのテーブルをリセットする方法をサポートしていますか?
ruby-on-rails - database_cleaner と factorygirl で 1 つのデータセットを常に存在させる方法
各サイトが複数のドメインを持つことができるマルチドメイン アプリケーションがあります (ロケール用)。
ApplicationControllerがやっている
私のテストスイートでは、ウェブサイトが表示されていることを確認したいだけです
仕様/機能/user_visits_homepage_spec.rb
私のdatabase_cleaner.rb
質問
サイトがないとコントローラーが機能しないため、常に1つのサイトがあることをどのように保証できますか。
私が行ったようにサイトを作成すると、database_cleaner は常にサイトを強制終了します。
私は間違った理解を持っていますか、それとも何かを見逃していますか?
ruby-on-rails - Rspec と database_cleaner は、テストによって追加されたデータのみを削除します
テスト データベースのシード データにいつでもアクセスできるようにしたいと考えています。そのように設定されている場合、database_cleaner がすべてを削除することを理解しています。
すべてを削除してからシードをリロードしようとしましたが、テストで js: true を使用しようとすると、シードがロードされないため、データが存在しないというエラーが発生します。
私のspec_helper.rb
私のview_specにあるとき、私はこのようなものを持っています
最初の 2 つのテストは実行され、そのユーザーを作成しても問題ありませんが、js: true で最後のテストに到達するとすぐに、データベースにアクセス許可がなくなります。
rspec によって追加されたデータのみを削除するように database_cleaner に指示する方法はありますか? 種ではありませんか?または、特定のテーブルを削除しないように指示することもできますか?
どんな助けでも大歓迎です。
sql-server-2008 - rSpec テスト時に rails gem database_cleaner を使用し、activerecord-sqlserver-adapter を使用する
Rails アプリケーション内で 2008 SQL Server データベースに接続するために、activerecord-sqlserver-adapter gem を使用しています。私はアプリケーション全体で「 Establish_connection 」を使用して複数のデータベースに接続していることに注意してください。rSpec を使用してアプリケーションをテストしていますが、rSpec が作成する DB からエントリを削除したいと考えています。グーグルで調べたところ、database_cleaner gem が問題の解決策になることがわかったので、Gem を含めて railsappname/spec/spec_helper.rb を次のようにセットアップしました。
また、次の行を false に更新しました
私の rails_helper.rb RSpec.configure ブロックに、その行が最初にあった場所です。
また、戦略を :truncation に変更しようとしましたが、違いはありませんでした。データはまだ DB に挿入されており、テストの完了後も削除されていません。これは activerecord-sqlserver-adapter の制限ですか? これに対する回避策はありますか? この問題は、アプリ内で複数のデータベースに接続していることが原因ですか? 私はしばらくグーグルで検索しましたが、この同じ問題を経験している人を見たことがないので、アドバイスをいただければ幸いです。
ruby-on-rails - rakeタスクとデータベースクリーナーgemを使用して、Ruby on Railsでデータベースを作成してクリーンアップする方法は?
1 つのファイルに 2 つの rake タスクがあります。種をまき、移植します。シードは必要なデータを作成しており、生成はテスト用のサンプル データを生成しています。
私のテストでは、データベースを操作しています(新しいエントリの追加、削除など)。データベースクリーナーgemを使用してデータベースをリセットしていますが、データベースをリセットすると、次のテストのためにデータを入力する必要があります。次の設定がありますが、データベースがまだ空であり、データの入力がありません。
これは spec/support/database_cleaner.rb です
spec/rails_helper.rb