6. F i x t u r e s と F a c t o r y G i r l
Fixtures
ymlファイルに1レコードづつ書く
FactoryGirlに比べると実行速度は早い
Validationは通らない
カラムが増えると全部のレコードを書き直しが発生
FactoryGirl
ソースコードにテストデータを記載
Validationが通る
学習コストが高い
毎回Validationを通すと遅い
6
8. R S p e c と は
プログラムの振る舞い(Behaviour)を記述するためのDSLを
提供するフレームワーク
プログラムを書く前に振る舞いを書く = BDD(振舞駆動開
発)を強く意識
BDDの目的は、そのソフトウェアが使われる状況を説明す
るための言語を単純化することでコミュニケーションを後
押しすること
8
Given When Then
15. よ く 使 う 抹 茶 ー ( m a t c h e r )
(not_)to eq : 等価かどうか
to be
be_empty : オブジェクトが空であるか
be (>|<|>=|<=) : オブジェクトに対しての比較
be_nil : オブジェクトがnilかどうか
to include : 配列内にデータがあるか
15
17. R S p e c と 組 み 合 わ せ る と 便 利
rspec-rails
Selenium
Poltergeist
Capybara
17
18. R S p e c - R a i l s
controller
type => :controller
get/post/put/delete アクション名, パラメータ
request
type => :request
get/post/put/delete URL, パラメータ
view
type => :view
renderでviewレンダリング, renderedでレンダリングしたview取得
assert_select エレメント: html属性値に対するアサーション
18