
rspecでprivateメソッドをテストする方法
下記のような、文字列を二つ受け取って、間にセミコロンを結合して返すという関数があった時に、 private
の下にあるから、rspec
で content_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
ここら辺の本を読んで、めっちゃ勉強になりました、ブログって簡単にわかるけど、深い部分で基礎が結構抜け落ちてたりするんだよね… 基礎の徹底は、良いエンジニアの基本なので、ここら辺を横着するか否かで将来のエンジニア人生も大きく変わる。なので、こういう本はしっかり読もうと思います。(お勧めなので、是非勝ってみればいいと思います :))