rspec

Rspecを書く時に参考にすべきサイト

最近rspecのバージョンを3.0.0.beta1から3.1にアップグレードしようと思っているのですが、ちょっと手間取ってしまっています。 ちょっと原因が分かったら色々纏めたいと思っています。で、今日の記事はrspec繋がりで、書き方についてです。今後書き方はここ…

rspecでプライベートメソッドのテストを書きたい場合は

テストを書くとpublicのメソッドだけでなく、privateについても書きたくなる事が暫しあります。 javaの場合だとリフレクションを使ってできますが、rubyの場合、どうするのかなと思って調べたらそこはsendメソッドを使えば出来るとあり、あー確かにそうだと…

テストを並列で実行させてスピードを上げる

テストの実行速度を上げるために、テストを並列で実行させたい場合があります。 その場合はParallel_testを使います。まずGemfileに追加します。 gem "parallel_tests" 続いてconfig/database.ymlを以下のように編集します。今回はSqlite3の場合です。 test: …

FactoryGirlsを使っているが

FactoryGirlsの使い方で、いつも FactoryGirl.create(:current_user_group1) 見たいに書いていたのですが、この最初のFactoryGirlっていうのは省略出来るんですよね。 だから最近加わったプロジェクトではこれを削除しています。それとActiveRecordでレコー…

youtub検索APIを使う

現在風邪で頭がぼーっとしているのですが、少し良くなったのでyoutub検索APIを使って動画の検索をしてみました。 用意するのはまずDevloper Key。ここから行けます。 で、今回私はyoutube_itというgemを使いました。 gem 'youtube_it' $bundle install --pat…

railsのcontrollerのテスト続き

ちょっとメモ書き。 controllerのテストでcontroller内で定義したメソッドの戻り値のチェックをする時はassiginsメソッドを使う expect(assigns[:user].name).to eql('testUserName') 例えば上記みたいに。 またそれ以外にresponse.statusでステータスコード…

guardを使ってソース編集後にテストを自動実行する

何かソースを変更した時に、テストを実行して動作を確認すると思いますが、いちいち $ bundle exec rspec spec/~~~~のように入力して確認するのも面倒だと感じることもあるかと思います。 そういう場合はguardを使ってテストの実行をdaemon化するのも良いと…

Rails4.1でrspec実行した時にエラーが出た

rails4.1にupdateしてからrspecを実行した時に以下のエラーが出た。 warning: you should require 'minitest/autorun' insteadこれの対処方法としては、 require 'minitest/autorun' をspec/spec_helper.rbに追加。 そうするとwaringがなくなるはず。 またsh…

Railsのテストでshoulda-matchersを使う

Rspecのテストでshoulda-matcherを使うとテスト結果の確認が楽。 なので、使い方をメモっておくために、まずはcontroller側のサンプルを載せる 1 require 'spec_helper' 2 3 describe AlbumsController do 4 fixtures :users 5 fixtures :albums 6 fixtures …

Rspecでテスト書くときメモ

Rspecでテストを書く時、次のようにして書きます。 前はshouldを使っていたのをexpectを使って書く。 とその前にまずはrspecで書かれたテストコードを生成。 rails g rspec:model userで生成されたspec/model/user_spec.rbの中身を修正。 1 require 'spec_he…