テストコードでのエラー
コメント投稿機能を実装し、テストコードを書いていた際に
Failure/Error: _query(sql, @query_options.merge(options))
ActiveRecord::StatementInvalid:
Mysql2::Error: MySQL client is not connected
というエラーが発生しました。
何回かテストコードを実行するも、毎回エラーが発生するタイミングが違い、理由がよくわかりませんでした。
以前、テストのデータが膨大になるとエラーが発生すると聞いたことがあったので、今回がそのケースでは?と考えましたが、データの量も多くない上に、一応データ取得の際には「N+1問題」に気をつけてincludesメソッドを使用しているので一旦その可能性は排除しました。
別の方向性で調べていくと、読み込み速度が関係しているかもしれないという記事を発見し、その解決策を実行したところ無事エラーが解決しました。
解決策としてはbefore do ~endのなかにsleep(1)と記述することで、テストを1秒毎に実行するようにしました。
備忘録として残します。