見出し画像

【エラー】Rspecテスト・MySQL client is not connected

コンソール
 Failure/Error: _query(sql, @query_options.merge(options))
      
      ActiveRecord::ConnectionNotEstablished:
        MySQL client is not connected

このエラーはデータベースへの接続が存在しないことを示しています😔

MySQLのサーバーが起動していることを確認してみた!

コンソール
% mysql.server status

結果は

% mysql.server status
SUCCESS! MySQL running (1627)

正しく起動しているなぁ

【調べた結果】

ネットで色々検索してみた!
FactoryBotのインスタンス生成の記述を増やしたタイミングでエラーが発生したみたい、sleepで処理してみよう(プログラムを0.1秒間停止させます)

order_spec.rb

RSpec.describe Order, type: :model do
  before do
    user = FactoryBot.create(:user)
    item = FactoryBot.create(:item)
    @order_form = FactoryBot.build(:order_form, user_id: user.id, item_id:item.id)
    sleep 0.1
  end

【結果】
テストが安定して成功するようになった!
FactoryBotのインスタンス生成の記述を増やしたがために負荷がかかって止まってしまったのかな🧐
解決できてよかった!


この記事が気に入ったらサポートをしてみませんか?