1

これが私のテストです。

class AlertSettingTest < ActiveSupport::TestCase
  context "For ALL Alert Settings" do
    setup do
  @alert = AlertSetting.create({ :alert_type_id=>'1',:name => 'xxx'})
  end
  subject { @alert }
  should_belong_to :alert_type
  should_validate_presence_of :name
  end
end

これが私のモデルです。

class AlertSetting < ActiveRecord::Base
  belongs_to :alert_type

  validates_presence_of :name, :message => "Alert name can't be blank."
  validates_presence_of :alert_type_id, :message => "Please select valid Alert Type."
 end

また、nameがnilに設定されている場合、予期されるエラーに「空白にすることはできません」が含まれ、エラーが発生します:nameアラート名を空白にすることはできません。(なし)

理解できません 。なんで?ありがとう!

4

2 に答える 2

1

まあまあ。モデル内の検証で:messageの部分をコメントアウトすると、テストスクリプトが実行されます。さて、誰かがそれが事実である理由を説明できれば、それは素晴らしいことです。チャンスはそのはずのバグですか?

于 2010-08-31T11:54:20.523 に答える
1

メッセージを変更する場合は、それについて Shoulda に伝える必要があります。

should_validate_presence_of(:name).with_message(/can.t be blank/)
于 2012-01-21T13:54:37.920 に答える