kikeda1104's blog

備忘録・技術に関することを書いています。(webエンジニア)

rspec

sidekiq + redisの構築(Rails 4系) 3

今回は、workerのテストを書いていきます。 前提環境 Rails 4.2.x Ruby 2.2.10 Redis Rspec CI(circle ci) Redis Worker Classの場合 方針を決めます。retryの上限数を超えた場合のテストも書きたいので、(Dead Job Queueに移す前に通る # app/workers/high_…

フィーチャーテスト(Rails + Rspec + Capybara)

追記: コメントをいただきまして、一部内容を更新しています。 今朝、rspec 3.5リリースの記事*1をrspecの公式HPから確認した所 Rails 5 では、 assigns と assert_template が soft deprecated になりました。 という内容が書いてあり、今までcontroller sp…

Rspec callbackのテスト(rails)

callback(before_actionなど)で利用するメソッドのテスト方法を書いていきます。 Controller class DashBoardController < ApplicationController before_action :set_user def index # ... end private def set_user @user = User.where(id: session[:user_…

認証機能のユニットテスト(controller)

今日は、自作のアプリでユニットテストを作っていたので、このあたりを書いていきたいと思います。 自作アプリでは認証のgemは使っていないんですが、記事のためにsorceryを使って書いていきます。 gemの導入手順は省いています。 準備 # Gemfile gem 'sorce…

rspecの型チェック

テストで型チェックのテストを書いていたので備忘録 messages = Hoge.messages expect(messages.is_a? Array).to be_truthy be_true/be_falseは3.00で廃止されたようですね。 be_true/be_false => be_truthy/be_falsey Change log: https://www.relishapp.co…

rspecのマッチャー(assigns)

Controllerでインスタンス変数名が変わりテストを書き換える必要があったので、さくっと備忘録。 assigns => controllerで使われるとインスタンス変数の検証で扱われる 例 expect(assings(hoge)).to eq(Hoge.new) => インスタンス変数 = Hoge.newが成り立つ…