タグ

ブックマーク / qiita.com/kuboon (2)

  • マルチセッションの request spec を書く - Qiita

    request spec とは controller spec との違いが最初はわかりづらいかもしれませんが、 controller spec は PostsController などの単体テストを書くためのもので、以下のような特徴があります。 get :index などと書くが、第一引数はアクション名であり、実際の url とはまったく関係がない。 get :show, id: 3 のようにして、 params[:id] に値を直接渡すことができる。 post :create, {}, {user_id: 5} のようにして、 session[:user_id] に値を直接渡すことができる。 デフォルトでは、 view ファイルの中身は評価されない。 (render_template マッチャでどの view ファイルが render されるかをテスト出来るが、 中身は評価されないので

    マルチセッションの request spec を書く - Qiita
  • describe の次行に subject を、 context の次行に let を書く - Qiita

    というオレオレルールなんですが、わりといい気がするのでご紹介します。 よくわからないと思うので実例で。 実例 狼が村人を噛むと村人は死ぬ。狼がハムスターを噛んでもハムスターは死なない という条件の rspec を、以下のように書きます。 require 'rails_helper' RSpec.describe Wolf do subject(:wolf){ FactoryGirl.build(:wolf) } it { is_expected.to be_valid } describe 'bite' do subject { wolf.bite(creature) } context 'bite villager' do let(:creature){ FactoryGirl.build(:villager) } it { expect{subject}.to change{creat

    describe の次行に subject を、 context の次行に let を書く - Qiita
  • 1