フィールドに RSpec の 2 文字の文字列が含まれているかどうかをテストする正しい方法は何ですか? Rails 2で機能したと思われる古い例に従っています。新しいAddress
インスタンスを作成し、無効な値を設定してから、そのインスタンスでトリガーvalid?
し、最後にerrors
レポートに問題があるかどうかを確認します。
it 'requires state to be of length 2' do
subject = Address.new
subject.state = 'Cal'
should_not be_valid
subject.errors.on(:state).should_not be_nil
end
今、Rails 3にはerrors.onがないので、試してみました
subject.errors[:state].should_not be_nil
しかし、ここでの問題は、がではなくerrors[:attribute]
空であることです。Array
nil