WebAPI のためのテスト
⇒ 実際に API を叩いてどのような変化やレスポンスがあったかを確認するテスト。
コントローラーのテストによく似ているがコントローラーのテスト以上にできることが多い。
⇒ リクエスト / レスポンスにのみ関心を持つブラックボックステスト。
⇒ リクエストを呼ぶ際に URL を使って呼ぶので実際に本番のを意識した作りになっている。
区分名 | 使い方 |
---|---|
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 は階層構造で表現できる
it の中で定義した subject を呼び出して使う
it よりも上の階層に記述する
it を実行する前に走らせておく処理
これも it より上の階層に記述する