capybaraでunicornを使うときの注意事項

  • capybaraで利用するテストサーバは変更可能
  • デフォルトだとwebrickだったはず?
  • Railsのsystem testだとpuma
  • unicornをproductionで使っているのであれば、unicornにしたほうがいいのでは?と思うタイミングがありやってみた

やり方

問題点

  • feature spec(system spec)でモックを使うことができないので使いづらい
  • puma(やwebrick)はテストのプロセスと同じプロセス内のスレッドで利用するので、モックの定義がテストサーバにも反映される
  • unicornは、最低でも2プロセスになる(マスタプロセスとワーカプロセス)
  • ワーカプロセスはテストのプロセスとは独立しているので、テストのプロセス内でモックを定義してもテストサーバには反映されない

まとめ

capybaraでunicornを使うには覚悟が必要