rspecでprivateメソッドをテストする方法

下記のような、文字列を二つ受け取って、間にセミコロンを結合して返すという関数があった時に、 private の下にあるから、rspeccontent_semicolon を呼び出せないとき

 
  private

  def content_semicolon(hoge, huga)
    hoge + ';' + huga
  end

こうすれば呼び出せる

  describe '#content_semicolon' do
    let(:instance) { クラス名.new }
    describe '呼び出すとき' do
      subject { instance.send(:content_semicolon, 'hello', 'world') }
      it 'セミコロンが結合された形で出てくること' do
        expect(subject).to eq 'hello;world'
      end
    end
  end
 


ここら辺の本を読んで、めっちゃ勉強になりました、ブログって簡単にわかるけど、深い部分で基礎が結構抜け落ちてたりするんだよね… 基礎の徹底は、良いエンジニアの基本なので、ここら辺を横着するか否かで将来のエンジニア人生も大きく変わる。なので、こういう本はしっかり読もうと思います。(お勧めなので、是非勝ってみればいいと思います :)) 

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

RailsRuby