मुझे कुछ अजीब सत्यापन व्यवहार मिल रहा है: यह मेरे सत्यापन त्रुटि संदेशों को डुप्लिकेट कर रहा है और मैं यह नहीं समझ सकता कि इसका कारण क्या है ... यह रेल कंसोल में ऐसा नहीं करता है ।रेल 3: परीक्षण के दौरान डुप्लिकेट सत्यापन त्रुटि संदेश
यहाँ मेरी फोन मॉडल से मान्यता है:
# phone.rb
validates :number, :length => { :minimum => 3 }
मेरे कल्पना:
require 'spec_helper'
describe Phone do
it "requires a number" do
user = User.make!
@p = Phone.new(number:nil,user_id:user.id,type:2)
@p.valid?
puts @p.errors.inspect
@p.should have(1).error_on(:number)
end
मेरे परीक्षण के परिणाम:
# rspec and machinist
#<ActiveModel::Errors:0x000000036f1258 @base=#<Phone id: nil, user_id: 614, kind: nil, number: nil, created_at: nil, updated_at: nil>, @messages={:number=>["is too short (minimum is 3 characters)", "is too short (minimum is 3 characters)"]}>
F
Failures:
1) Phone requires a number
Failure/Error: @p.should have(1).error_on(:number)
expected 1 error on :number, got 2
# ./spec/models/phone_spec.rb:11:in `block (2 levels) in <top (required)>'
Finished in 0.50988 seconds
1 example, 1 failure
आप देख सकते हैं, मैं हो रही है "बहुत छोटा है (न्यूनतम 3 वर्ण है)" दो बार ... यह परीक्षण के दौरान/केवल/हो रहा है। कोई विचार?
धन्यवाद!
आपकी एसोसिएशन परिभाषाएं क्या दिखती हैं और क्या आप validates_associated का उपयोग करते हैं? –
फ़ोन में, यह 'है_ऑन: उपयोगकर्ता ', और उपयोगकर्ता में, यह' है_मनी: फोन'। मैंने अपने validatons का परीक्षण करने के लिए 'valid_attribute' मणि का उपयोग शुरू किया, और यह इस विधि से काफी अच्छा है। – wulftone
क्या आपको कोई समाधान मिला? – MrEvil