エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Railsでマルチスレッド処理のテストを書く際の設定
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Railsでマルチスレッド処理のテストを書く際の設定
Railsアプリケーションにおいて、マルチスレッド処理でレコード取得処理を行う処理を書くときに、Rspec... Railsアプリケーションにおいて、マルチスレッド処理でレコード取得処理を行う処理を書くときに、Rspecの設定周りでいろいろと知ることができたのでメモ。 テスト環境は Rspec + FactoryGirl + DatabaseCleaner という感じ。 まず、テストの流れとして、 FactoryGirlなどからデータベースにデータが挿入される。これは一般的にTransactionで行われる。 そして、テストが終了するとTransactionはロールバックされてデータベースは元の状態に戻る。 しかし、マルチスレッドでレコード取得を行っていると、 テスト開始時にTransaction内でデータは挿入されるが、それぞれ別のスレッドからはTransaction内のデータを参照できないため、レコードの取得ができずに、テストは落ちることになる。 そこでrspecの設定でTransactionでの

