Rails+Rspecで特定の環境でのみテストをする方法

目次

マーケター、エンジニアを月1時間からジョインできるプラットフォーム

airteamは月1時間からマーケターやエンジニアに相談できるプラットフォーム。 雇うのはハードル高いけどプロをチームに入れたい。そんな経営者のためのサービスです。 相談にのる方も募集しています。

タスクなしだから月一時間からジョイン可能

作業はなくオンライン相談メイン。 月1時間からさっと経験者に継続的に相談できます。

多様な経験者を雇用するより何倍も早くチームに

あらゆるジャンルの経験者がいるので あなたのチームのノウハウの選択肢が広がります。

NDAはすでに締結済み、契約もスムーズ

契約の煩雑なやりとりはなく、NDAはすでに締結済み、書面のやりとりはありません。

Rails+Rspecで特定の環境でのみテストをする方法をまとめていきます。例えば、APIのテストでlocalではAPIを受け取れないのでstaging環境でのみテストするなどです。

tagを使う

tagを設定することでそのtagのついたテストのみを実行することができます。

https://relishapp.com/rspec/rspec-core/v/3-5/docs/command-line/tag-option

例えば

describe "hoge", :focus
  
end

上記でコマンド

# focusタグが付いたもののみ実行
bundle exec rspec -t focus

# focusタグが付いたもののみ除外
bundle exec rspec -t ~focus

除外の場合、上記だとなぜか動かず

bundle exec rspec --tag "~focus"

上記のように””で囲ったら動いた