カテゴリー:Ruby on Rails
-
12.02
【Ruby on Rails】エラー処理の概要
Railsの内部で発生するエラーは下記の2つに分類できます。 アプリケーション固有のエラー(業務エラー、ユーザーに責任のあるエラー) Rails固有のエラー(システムエラー、システムの不具合で開発者に責任があるエラー) …
-
URLの指定方法の種類 Railsには下記のように様々なURLの指定方法があります。 文字列を直接指定する。(/usersと言ったような) ハッシュを利用する。({controller: :users, action: :…
-
System Specの場合 have_selector CSSセレクタ内に特定の要素を含んでいるか検査します。 例 下記の例だと.navというクラスにタスクという文字列をテキストに含むものがあるかどうかチェックをします。 [cr…
-
beforeブロックを使った共通化 beforeブロックを使うことでdescribeやcontextブロックの内部で各テスト実行前に共通のインスタンス変数をセットアップできます。 [crayon-662e92233cdde9979404…
-
12.01
【Rspec】Capybaraの構文まとめ
Capybaraは、Rails5.1からデフォルトで入っているE2Eテスト(Featureテスト)をするのにはうってつけのGemになります。(5.0未満だと別途インストールが必要) Capybaraは普通のRubyの構文と違う独自DS…
-
Railsには本番、開発、テスト環境の3つの環境がありますがテストをする場合はテスト環境にデータを用意する必要があります。 テストデータを用意する流れ FactoryBotでデータを作成するための「テンプレート」を用意する。 …
-
12.01
【Rspec】基本的な書き方、タグなど
Rspecコードの基本形 Rspecの基本形は下記のようになります。 [crayon-662e92233d7c9014990124/] RspecにはSystem SpecやModel Spec等様々なSpecの種類が存在しますが基本…
-
System SpecはRspec3.7からの機能で比較的歴史が浅い機能になります。E2Eテストができるspecになります。 元々は、Feature SpecというE2Eテスト用のSpecが用意されていましたがその代替です。 Fea…
-
RspecとFactoryBotのインストール RailsのGemfileの下記の場所にrspec-railsというgemを記述します。またついでにテストデータ作成を効率化してくれるGemである「FactoryBot」もついでにインストー…
-
Railsにはモデルからデータを取り出しさらにその中からデータを抽出するための便利なメソッドがいくつか標準で用意されています。 雛形 [crayon-662e92233e257642174873/] 例 adminという名前のユーザ…