Request Spec とは


区分名 使い方
describe テスト対象
context テスト条件
it テスト結果
describe "テストの対象" do
	context "テストの条件" do
		it "期待する結果" do
			expect(target).to eq xxx
			テスト対象↑  matcher↑  ↑期待する結果 
		end
	end
end
区分名 使い方
subject テスト対象 = expect の引数になもの
before 句 it を実行する前に事前に走らせておく処理
let expect の引数になりえないもの
describe "テストの対象" do
	context "テストの条件" do
		subject { #テストで確認したいことを書く }
		before { #事前に行う処理を書く }
		let!(:variable_name) { #変数に入れる値を書く }
		let(:variable_name) { #変数に入れる値を書く }
		it "期待する結果" do
			expect(target).to eq xxx
			テスト対象↑  matcher↑  ↑期待する結果 
		end
	end
end

# let や subject は階層構造で表現できる

subject

it の中で定義した subject を呼び出して使う

it よりも上の階層に記述する

before 句

it を実行する前に走らせておく処理

これも it より上の階層に記述する

※番外編

FactoryBot