के साथ परीक्षण रेल के नेस्टेड विशेषताओं परीक्षण और रेल के लिए मैं काफी नया हूं और खुद को समझने की कोशिश की लेकिन बिना किसी किस्मत के।rspec
मैं निम्नलिखित मॉडल
class Picture < ActiveRecord::Base
belongs_to :product
has_attached_file :image
end
class Product < ActiveRecord::Base
has_many :pictures, :dependent => :destroy
accepts_nested_attributes_for :pictures, :reject_if => lambda { |p| p[:image].blank? }, :allow_destroy => true
end
और एक नियंत्रक जो सुंदर मानक, मुझे लगता है है ...
def create
@product = Product.new(params[:product])
if @product.save
redirect_to products_path, :notice => "blah."
else
render :action => "new"
end
end
मैं के बारे में कैसे जा सकते हैं और यह परीक्षण होगा? मैं कुछ इस तरह की कोशिश की, लेकिन मैं यह काम करने के लिए नहीं मिल सकता है:
describe ProductsController do
it "adds given pictures to the product" do
product = Factory.build(:product)
product.pictures.build(Factory.attributes_for(:picture))
post :create, :product => product.attributes
Product.where(:name => product[:name]).first.pictures.count.should == 1 # or something
end
end
यह शायद रास्ता विशेषताएं बना कार्रवाई करने के लिए पारित कर रहे हैं के साथ कुछ है, लेकिन यह काम करने के लिए मैं कैसे मिल सकता है? मैं रेल 3.1.rc5 का उपयोग कर रहा हूं, लेकिन मुझे संदेह है कि इसका काम क्यों नहीं कर रहा है ...
या क्या आप इसका परीक्षण नहीं करेंगे क्योंकि यह मूल रेल कार्यक्षमता है और सबसे अच्छी तरह से परीक्षण करने के लिए अच्छी तरह से परीक्षण किया जाता है?
मैं दृढ़ता से इस से असहमत हैं। यदि आप परीक्षण नहीं करते हैं और आपके पास कोई विनिर्देश नहीं है और न ही दस्तावेज़ीकरण है तो आप किसी भी प्रतिगमन को नहीं पकड़ पाएंगे। – phikes
@phikes क्या आपने वह हिस्सा देखा जहां मैंने कहा कि एकीकरण परीक्षण का उपयोग करके इसका परीक्षण किया गया है? – jonnii