RSpecによるRailsテスト入門 第五章 コントローラスペックの基礎

Preview:

Citation preview

EveryDayRailsRSpecリューノス読書会

2015-10-15

第五章

コントローラスペックの基礎

コントローラは不憫です

開発者は皆、うすいコントローラを書きたがる

0.02mm?

薄いほうがええやろ?w

うすいだけじゃきもちよくなれない

第五章 概要● なぜコントローラをテストするのか● コントローラのテストの基礎● コントローラスペックの整理● スペック用のデータ準備● コントローラ7つのCRUDとテスト● 入れ子なルーティングについて● CSVやJSONなど、非HTMLなコンテンツのテスト

● なぜコントローラをテストするのか● コントローラテストの基礎● コントローラスペックの整理● スペック用のデータ準備● コントローラ7つのCRUDとテスト● 入れ子なルーティングについて● CSVやJSONなど、非HTMLなコンテンツのテスト

いつかちゃんと全部まとめたいネ……。

なぜコントローラをテストするのか?

何故?

どうしよっかなぁ

● テストしたほうがいいね!– コントローラはクラスを

持ったメソッドだからテストすべきだ

– 統合テストと比べてすぐ書けるよね

– 統合テストより早く動くしね

● テストしなくてもよくね?– コントローラは0.02mmみた

いなモンだしいらなくね?– コントローラスペック確かに

速いけどモデルとかオブジェクト単体のテストよりは遅いじゃん

– フィーチャースペック一つで複数のコントローラテストしてるようなもんだしなァ

しないより

したほうが

いいに

きまってるからだろうが

ゴムはつけましょう

コントローラテストの基礎

コントローラスペックの基本構文

# 保存が完了したらホームページにリダイレクトすること

it "redirects to the home page upon save" do

post :create, contact: FactoryGirl.attributes_for(:contact)

expect(response).to redirect_to root_url

end

コントローラスペックの基本構文 # 保存が完了したらホームページにリダイレクトすること

it "redirects to the home page upon save" do

post :create, contact: FactoryGirl.attributes_for(:contact)

expect(response).to redirect_to root_url

end

● httpメソッドとコントローラメソッドと任意のパラメータ– postと:create、そして後ろに続くFactoryGirl.atrr~

● FactoryGirl.attrbutes_for– テストデータがハッシュで作られるらしい

やあ (´・ω・`)ようこそ、バーボンハウスへ。このテキーラはサービスだから、まず飲んで落ち着いて欲しい。

うん、「まだ」なんだ。済まない。仏の顔もって言うしね、謝って許してもらおうとも思っていない。

でも、このプレゼンを聞いたとき、君は、きっと言葉では言い表せない「ときめき」みたいなものを感じてくれたと思う。殺伐とした世の中で、そういう気持ちを忘れないで欲しいそう思って、このプレゼンを作ったんだ。

じゃあ、注文を聞こうか。

● Laughing at Dean | Flickr - Photo Sharing! https://www.flickr.com/photos/wickenden/3644297054/

● 258/365: Under my skin | Flickr - Photo Sharing! https://www.flickr.com/photos/pinkcotton/3924251445/

● I'm Sorry | Flickr - Photo Sharing! https://www.flickr.com/photos/maroonsurreal/6288367519/

Recommended