読者です 読者をやめる 読者になる 読者になる

lambda の代わりに expect を使う

RSpecでたとえば例外のテストコードを書くとして、

it "should raise CommandError in unknown command" do
  lambda { LocalPort.command.find("foo") }.should raise_error(
    LocalPort::CommandError, "foo"
  )
end

このlambda {...}.shouldは読み手からしたら意図が伝わりにくいので、expect {...}.toを使うとすんなり読める。

it "should raise CommandError in unknown command" do
  expect { LocalPort.command.find("foo") }.to raise_error(
    LocalPort::CommandError, "foo"
  )
end

RSpec bookのSection13#Ch, ch, ch, ch, changesでexpectを使うサンプルコードが載っている。あとは、Relishにも詳しく書いてある。