[RSpec]テストコード 基礎知識


背景

良いアプリを作成するには良いテストコード をかけることが不可欠だと思ったので少しですが基礎知識をまとめてみました。

基礎知識

・specファイルは、対応するクラス名_spec.rb、と命名する。

・describe = 直後のdo ~ endまでのテストのまとまり。後に続く""の中にはそのまとまりの説明を書く。

・itとexample = 実際に動作するテストコードのまとまりを表します。itの後に続く""の中にはそのexampleの説明を書きます。

・エクスペクテーション = 実際に評価される式のことです。it do ~ endの間に書く。

・expect(X).to eq Y=xの部分に入れた式の値がYの部分の値と等しければ、テストが成功となる。

・マッチャ=テストが成功する条件を示すもの。

[例]→eq(等しければ)、include(含んでいれば)、valid(バリデーションされれば)

・変数=FactoryBot.build(クラス名)でテストデータを利用できる

・変数=FactoryBot.create(クラス名)でテストデータを利用でき、仮のDBに値が保存される

・FactoryBot.build(クラス名, 上書きしたい項目: XX)で上書き出来る