मैं नियंत्रक में कुछ चीजों को संशोधित करना चाहता हूं और rspec का उपयोग करके उनका परीक्षण करना चाहता हूं। मैं Spree::ProductsController
के लिए new
कार्रवाई बनाना चाहता हूं। यह मैंस्प्री नियंत्रक सजावट के लिए परीक्षण कैसे लिखें?
routes.rb
resources :products
prodcuts_controller_decorator.rb
Spree::ProductsController.class_eval do
before_filter :authenticate_spree_user!, :except => [:show, :index]
def new
@product = current_user.products.build
end
end
products_controller_spec.rb
require 'spec_helper'
describe Spree::ProductsController do
let(:user) {create(:user)}
before(:each) do
Spree::Core::Engine.routes
BigPlanet::Application.routes
controller.stub :spree_current_user => user
end
it "render new template" do
get :new
response.should render_template(:new)
end
end
end
लेकिन अपने मूल Spree::Controller
का उपयोग कर क्या करने की कोशिश की और
Failure/Error: get :new
ActionController::RoutingError:
No route matches {:controller=>"spree/products", :action=>"new"}
देता गए किसी तो सही दिशा में मुझे धक्का यह बहुत अच्छा चाहते कर सकते हैं है।
क्षमा करें यह पहले से ही 'स्प्री :: उत्पाद नियंत्रक' था, ठीक है, लेकिन त्रुटि – benchwarmer
बनी हुई है, मैंने उत्तर को एक अतिरिक्त चरण के साथ संपादित किया है जिसका आप उपयोग कर सकते हैं। हम rspec के साथ सजावटी परीक्षण करने के लिए कई स्प्री अनुप्रयोगों में इसका उपयोग करते हैं। – gmacdougall
सुझाए गए मार्गों को जोड़ा गया .. फिर भी यह – benchwarmer