読者です 読者をやめる 読者になる 読者になる

読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

reCAPTCHA/railsを使ったときのテスト

reCAPTCHAを利用するため、railsプラグインrecaptchaを使いました。
test環境、cucumber環境ではverify_recaptchaは常にtrueを返すので、モックは不要でした。
test環境でのreCAPTCHAのinvalidの確認をするには、test環境でPRIVATE_KEYとPUBLIC_KEYを設定して、

  it "should be tested under effective recaptcha" do
    Recaptcha.with_configuration :skip_verify_env => [] do
      expect { click_button "Sign up" }.not_to change(User, :count)
    end
  end

で行けそうですが、なぜかその後のexampleでもskip_verify_envが復帰せず、verify_recaptchaが有効のままです。
example(it文)を囲むブロックをwith_configurationに渡すと、skip_verify_envが切り替わらないので、サーバー側とRSpecでプロセスが違ったりするのでしょうか?その辺りもよくわからず。
まだ、どう書くのがよいか決定版がない状況です。