テスト環境の基本用語


プログラミング初心者が
テスト環境に関する基本用語をアウトプット用にまとめます。

テスト環境

1.テスト
プログラミングが意図した通りに動くことを確かめること。
テストを行うためのプログラムをテストコードという。
本番環境で実際に作動するプログラムをプロダクションコードという。

2.RSpec
Rubyを元に作成されたテストに特化した言語。
「rspec-rails」というGemをインストールすると利用できる。

3.単体テスト
ひとつのプログラムのまとまりに関して、それ単体が正常に動くか確かめるテスト。

4統合テスト
複数のプログラムが連動して行われる処理が意図したとおりに行われるか確かめるテスト。

5.rails_helper.rbファイル
RailsにおいてRSpecを利用する際に、共通の設定を書いておくファイル。
各テスト要ファイルでこちらのファイルを読み込むことで共通の設定をする。

6.spec_helper.rbファイル
こちらも同じくRSpec用の共通の設定を書いておくファイル。
ただ、RSpecをRailsなしで利用する際に利用する。

7.describe
直後の「do ~ end」までのテストのまとまりを作るもの。
「" "」の中にはそのまとまりの説明を書く。

8.itとexanple
itは、exampleと呼ばれる実際に動作するテストコードのまとまりを表す。
「" "」の中にはそのexampleの説明を書く。

9.エクスペクテーション
実際に評価される式のこと。
「it do ~ end」の中に書く。
「expect(X).to マッチャ Y」の形で書く。

10.マッチャ
エクスペクテーションの中で、テストが成功する条件を示す。
eqやincludes、be_validなどがある。

11.bundle exec rspecコマンド
RSpecのテストコードを利用したテストを実行するコマンド。

12.valid?メソッド
バリデーションにより保存ができない状態であるかどうかを確かめられる。
errorsメソッドをあわせて使うと、その理由を確認できる。

13.factory_bot
簡単にダミーのインスタンスを作成することができるGem。
buildメソッドで、引数にシンボル型で取ったクラス名のインスタンスを作成。
createメソッドも同様、違いはテスト用のDBに値が保存される。

14.テストコードを書くときの原則
・各exampleで期待する値はひとつ
・期待する結果をはっきりわかりやすく記述する
・起きてほしいことと起きてほしくないこと両方をテストする
・境界値をテストする
・可読性を考えつつ、適度にDRYする

15.擬似的にアクションをリクエストする
「HTTPメソッド :アクション, params: { id:1 }」という形で行う。
HTTPメソッドの引数として、利用したいコントローラのアクションをシンボル型で渡して、必要なパラメータはそれぞれハッシュ形式で渡す。

16.response
example内でリクエストが行われた後の遷移先のビューの情報を持つインスタンス。

17.render_templateマッチャ
引数にシンボル型でアクション名をとる。
引数で指定したアクションがリクエストされたときに自動的に遷移するビューを返す。

18.assignsメソッド
コントローラのテスト時、アクションで定義しているインスタンス変数をテストするためのメソッド。
引数に、直前でリクエストしたアクション内で定義されているインスタンス変数をシンボル型で取る。

19create_list
factory_botの設定ファイルに存在しているリソースを複数作成する。
第一引数に作成したいリソース(シンボル型)、第二引数に作成したい個数。

20.Faker
factory_botにてダミーデータを作成するためのGem。

まとめ

テスト環境に関する基本用語をまとめました。