RSpec
はじめに railsアプリにCircleCIを導入してCI部分のRspecとRubocopを自動化してみました。 設定方法 まずはアプリのルートディレクトリに.circleciというディレクトリを作り、その配下にconfig.ymlというファイルを作ります。 そのファイルにcircleciの設定…
はじめに Rspecで画像を添付する方法と、その画像が添付されたかどうかを確認する方法について。 画像を添付する Rspecで画像を添付するには、attach_fileというメソッドを使います。 このメソッドは、第一引数にinputタグのname属性を指定し、第二引数に画…
はじめに rakeタスクはアプリケーションを起動せずに、ターミナルなどから行いたい処理を実行できます。 rakeタスクの設定方法 まず、rakeタスクの処理を設定するためのファイルを作成します。 $ rails g task <タスクの名前> $ rails g task update_article…
はじめに モデルを作成する際に、SQLite3::SQLException: table "〇〇" already existsというエラーに遭遇したのでその対処法。 SQLite3::SQLException: table "〇〇" already existsの解決法 commentsモデルを作成するためにrails db:migrateを実行した時に…
はじめに RSpecでテストを実行する際に、ブラウザを表示するかしないかの設定について 設定方法 まず、下記のGemをインストールします。 group :test do gem 'capybara' gem 'webdrivers' end 続いて、specディレクトリ以下に'support'ディレクトリと、'driv…
はじめに RSpecで特定のテストだけを実行したいときについて $ rspec spec/system/task_spec.rb:10 上記のようにファイル名とテストしたい行を指定すれば、特定のテストだけを実行できますが、 次の設定をすることでもっと簡単に呼び出せます。 設定方法 RSp…
はじめに strftimeメソッドで日付の書式を変更する方法について strftimeメソッドで日付の書式を変更する strftimeメソッドは、下記のようにTimeクラスやDateクラスのインスタンスに対して使います。 now_time = Time.current now_time.strftime('日付の書式…
はじめに RSpecのテストコードで、data-confirmのOKかキャンセルを選択する方法について テストするビューの一部 まず、以下のようなtask一覧ページのビューがあるとします。 <tbody class='task_list'> <% @tasks.each do |task| %> <tr> <td><%= task.title %></td> <td><%= task.status %></td> <td><%= short</td></tr></tbody>…
はじめに RSpecのsystemテストで、リンクをクリックした時に別タブを開くときがあったので調べてみました。 RSpecのテストで別タブに移動する方法 rspecのテストの途中で別タブ内のテストもしたい場合には、 「click_link」や「click_button」のあとに下記の…
はじめに rspecのテストコードを書くために"let"と"let!"の違いを調べていたところ、 今度は"let!"と"before"の違いや実行順序に関して気になったのでまとめてみました。 "let"とは rspecには"let"というメソッドがあります。 これは呼び出された時にはじめ…
はじめに 先日、RSpecでテストを書いていた際に、テストデータをまとめて作成したいなーと思って調べたので、ご参考になれば。 create_listメソッドとは create_listメソッドとは、ファクトリに定義しているテストデータを、配列としてまとめて取得すること…
はじめに 先日、はじめてRSpecでバリデーションのテストを書いたのでアウトプットとして書きます。 ご参考になれば幸いです。 userモデルとtaskモデル userモデルとtaskモデルはこんな感じです。 ※今回はtaskモデルのバリデーションテストのみ書きます。 cla…
はじめに railsアプリにrspecとFactoryBotをはじめてインストールしたので参考になれば 導入の手順 1.Gemfileに記述 2.bundle install 3.RSpecのインストール 4.その他設定 1.Gemfileに記述 group :development, :test do gem 'rspec-rails' gem 'factory_bo…