Test ve raylar konusunda oldukça yeniyim ve kendimi bulmaya çalıştım ama hiç şansı yok.test raylarının rspec ile iç içe öznitelikleri
Ben şu modeller
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
ve oldukça standart, sanırım bir kontrolör ...
def create
@product = Product.new(params[:product])
if @product.save
redirect_to products_path, :notice => "blah."
else
render :action => "new"
end
end
Ben yaklaşık nasıl gideceğini ve bu testi? ben böyle bir şey denedim ama işe olamıyorum:
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
Muhtemelen öznitelikler oluşturmak eyleme geçirilir yolu ile ilgili bir şey var ama alabilirim nasıl olacak bu iş? 3.1.rc5 raylarını kullanıyorum ama bunun neden çalışmadığı ile ilgili bir şey yapamayacağından şüphe duyuyorum…
Ya da temel raylar işlevselliği olduğundan ve büyük olasılıkla iyi test edilmeye başlandığı için bunu test edemez miydiniz?
şiddetle bu katılmıyorum. Test yapmıyorsanız ve herhangi bir belirtiminiz veya belgeniz yoksa, herhangi bir gerileme yakalamazsınız. – phikes
@phikes, entegrasyon testleri kullanarak test ettiğim bölümü gördünüz mü? – jonnii