学習記録

アウトプット用に作りました

RSpec

FactoryBotのtransientとコールバック

transientとは transientは実際に作成するデータと直接関係無い新しいattributeを定義する機能です。そこで定義されたものは実際のmodelにはセットされません。追加データとして利用するのが一般的です。 FactoryBotで使うコールバックとは 下記4つのコール…

別タブで開いた画面のテスト / ApplicationHelperのメソッドをRSpecでも使用

別タブで開いた画面をテストする方法 下記のコードのようにUserの一覧ページからUserの詳細ページに移るときにtarget: :_blankを使って別タブで表示するような実装をしている部分のテストを書いていきます。 <%= link_to "詳細", users_path(@user), target:…

System Spec

システムスペックとは 複数のモデル、コントローラを統合したプログラム全体の挙動をチェックする統合テストです。またJavaScriptを利用する画面のテストを書くこともできます。 システムスペックには下記の機能がデフォルトで準備されています。 selnium-we…

Model Spec

モデルスペックに含めるテスト 有効な属性で初期化された場合は、モデルの状態が有効になっていること。正常系のテスト。 バリデーションを失敗させるデータであれば、モデルの状態が無効になっていること。異常系のテスト。 クラスメソッドとインスタンスメ…

FactoryBotについて

FactoryBotとは テストデータ生成のためのデータライブラリのことです。 ここで作成したデータはテストケースで呼び出すことができます。 FactoryBotの使い方 GemFileにFactoryBotを追加します。 開発環境とテスト環境のみで使うものなので、下記のように指…