タグ

2016年7月7日のブックマーク (4件)

  • RSpecのletを使うのはどんなときか?(翻訳) - Qiita

    はじめに RSpecにはletという機能があります。 これを使うとインスタンス変数を次のように置き換えることができます。 # インスタンス変数を使う場合 before do @user = User.new(name: 'Taro', email: 'taro@example.com') end it 'is valid' do expect(@user).to be_valid end # letを使う場合 let(:user) { User.new(name: 'Taro', email: 'taro@example.com') } it 'is valid' do expect(user).to be_valid end RSpecを使い慣れている人であれば、おそらくletを使うことが多いと思いますが、初心者の人には違いやメリットがよくわからないと思います。 また、使い慣れている人で

    RSpecのletを使うのはどんなときか?(翻訳) - Qiita
  • すごいぞRSpec(letとlet!編) - @yohfee.blog!

    すでに前回のすごいぞRSpec(shared example group編) - ぷろぐらまねがで登場してるけどあらためてletを調べるよ。rspec-core(2.5.1)/features/helper_methods/let.featureを参考に。 let 要するにメモ化するわけで、同一サンプル内だと同じオブジェクトを使いまわせるのだな。違うサンプルでは改めて評価される。さらに遅延評価なので実際に評価されるのは最初にメソッドが呼ばれたときだ。 $count = 0 describe 'let' do let(:count) { $count += 1 } it 'memoizes the value' do count.should == 1 count.should == 1 end it 'is not cached across examples' do count.shou

    すごいぞRSpec(letとlet!編) - @yohfee.blog!
  • RSpecの(describe/context/example/it)の使い分け - Qiita

    概要 なかなか使い分けする基準が理解できなかったけど、 こういうことかという考えが出てきたのでメモ。 使い分け方 テストの流れを端的に言うと、 機能、クラス、メソッドなどのテストの対象に対して、 特定の条件で実行してみて、 期待するアウトプットが返ってくるかを調べる、 ということになる。 ここで出てきたテストの対象と特定の条件とアウトプットに注目して、 (describe/context/example/it)の使い分けを行う。 describeには、テストの対象が何かを記述する。 contextには、特定の条件が何かを記述する。 exampleとitには、アウトプットが何かを記述する。日語で記述するときはexampleを使う。it "is 〜やit { should be 〜 }のような形で書きたい場合はitを使う。 describe 'テストの対象' do context '特定の条

    RSpecの(describe/context/example/it)の使い分け - Qiita
  • rubyのクラスやらモジュールがモヤっとしている人へ - Qiita

    どうも。今、やっとこの「モヤッ」が解消されたgogotanakaです。 この記事はrubyrailsはそれなりに書けるけど 実はclassとかmoduleの継承とかインスタンスとかそいう言葉を出されると「モヤッ」となる、 方々のためにこの辺をまとめてみましたよ。 という体裁の自分用の備忘録である。 表記法 よくとかに載っている表記法だけど一応確認。 ThisIsClass#this_is_method これはThisIsClassクラスのインスタンスのメソッドthis_is_methodを指してる ThisIsClass.this_is_method ThisIsClass::this_is_method これはThisIsClassクラスのクラスメソッドthis_is_methodを指している 一回 class Hoge ~ end を忘れよう rubyをいじった事がある方にはおなじ

    rubyのクラスやらモジュールがモヤっとしている人へ - Qiita