カテゴリー:Rspec
-
前提 deviseをインストールしておきましょう。 userモデル(deviseの対象モデル)を作成しておくこと。 事前準備 rspec関連Gemのインストール Gemfile [crayon-6758b4551…
-
Rspecのテストを高速化する手法としてはいくつかあります。 Railsの起動を高速化する。 Railsを取り外す。 テストを並列化させる。 タグを使う。 モックやスタブを使用する。 Railsの起動…
-
テスト工程の種類 ユニットテスト(単体テスト) クラスやメソッドを対象にしたテストであり、ソフトウェアテストの中では最も粒度が小さいテストのことです。 結合テスト トップダウンテスト テスト対象のモジュールを上位から下位に実行して…
-
Shoulda Matchersとは? Shoulda MatchersはActiveModelやActiveRecord等で使える豊富なマッチャのコレクションになります。(すでに開発は停止されております。) 複雑になりやすいRai…
-
コードの重複をなくすシンプルな方法の一つとしてサポートモジュールがあります。特にフィーチャースペックやシステムスペックでよく使える手法(ログイン処理の共通化等)です。 前提 事前に下記ファイルが編集されている必要があります。 [cra…
-
03.20
【Rspec】「リクエストスペック」について
リクエストスペックが必要な背景 最近のRailsアプリでは外部APIを持つことが増えてきています。堅牢なAPIにするためにテストもしっかりすることが求められます。 モデルのテスト(モデルスペック)とシステムテスト(システムスペック)…
-
03.18
【Rspec】Capybaraについて
Capybaraとは? Webアプリ用のE2EテスティングフレームワークでRails5.1から標準で入っています。Capybaraの中にはRspecやMinitest等も内包しています。なお、JavaScriptはデフォルトドライバではサ…
-
テンプレート側 テストデータに連番をつける。(シーケンス) 通常は、FactoryBot.createやFactoryBot.buildを複数回実行した場合は常に同じデータができますが、下記のようにsequenceを使うことで複数回デー…
-
フィクスチャとは? Railsでサンプルデータを生成するためのデフォルト機能です。 フィクスチャのメリット 比較的早い Railsデフォルト機能のため環境をセットアップする必要がない。 フィクスチャのデメリット …
-
Controller Specは何をテストするのか。 HTTPメソッドでのリクエストの際のアクションの挙動のテストをします。具体的には下記のようなテストです。 どういったレスポンスコードが返ってくるのか。 どういったテンプ…