searchkickを使ったテストをするときに気をつけること

  • RSpecでsearchkickを使うときにどう設定するかがREADMEに書かれている
  • ↑を見ると、searchタグを付けたときだけsearchkickが有効になるように読める
  • が、これは間違い
  • searchkickの提供するコールバックのオンオフをするためのフラグはThread.currentで提供されている
  • つまりテストのスレッドで該当のモデルを作ったときにはsearchkickのコールバックは発火しないが、system specでpumaがモデルを作ったときにはsearchkickのコールバックは発火する
    • これ直感的じゃないのでグローバルにコールバックのオンオフを設定できると嬉しい気もするが、system specでサーバ側の挙動をテストに合わせるのもどうなんだろう、となったのでいったんこういう挙動である、という認識のもとやっていくことにした