rspec

2012-05-30 12 views
11

के साथ ActiveAdmin का परीक्षण कर रहा हूं मैं ActiveAdmin का परीक्षण करने में शुरुआत करने की कोशिश कर रहा हूं, विशेष रूप से मुझे ActiveAdmin नियंत्रकों में से एक से सदस्य_करण की जांच करने की आवश्यकता है।rspec

क्या आप इस विषय पर किसी भी अच्छे ट्यूटोरियल जानते हैं?

धन्यवाद,

उत्तर

20

इस तरह से मैं यह है कि मेरे लिए काम किया किया है: -

एप्लिकेशन/व्यवस्थापक/posts.rb

ActiveAdmin.register Post do 

    menu :parent => "Admin" 


    #path = /admin/posts/:id/comments 
    member_action :comments do 
    @post = Post.find(params[:id]) 
    end 
end 

कल्पना/नियंत्रक/व्यवस्थापक/posts_controller_spec। rb

require 'spec_helper' 
include Devise::TestHelpers 


describe Admin::PostsController do 
    render_views 

    before(:each) do 
    @user = mock_model(User, :email => "[email protected]") 
    request.env['tester'] = mock(Tester, :authenticate => @user, :authenticate! => @user) 
    end 

    describe "Get comments" do 
    before(:each) do 
     @post = Post.create! valid_attributes 
     Post.should_receive(:find).at_least(:once).and_return(@post) 
     get :comments, :id => @post.id 
    end 

    after(:each) do 
     @post.destroy 
    end 

    it "gets the proper record to update" do 
     assigns(:post).should eq(@post) 
    end 

    it "should render the actual template" do 
     response.should contain("Comments") 
     response.body.should =~ /Comments/m 
    end 
    end 
end 
+0

मैं कोई त्रुटि मिलती है "अपरिभाषित स्थानीय variab ले <या आरएसपीईसी :: कोर :: उदाहरण समूह :: नेस्टेड_1: 0xd765310> " – Calin

+1

मुझे यह मिला, मुझे अपने चश्मे को spec/नियंत्रकों में स्टोर करना होगा ताकि रुपयेपीसी स्वचालित रूप से मेरे चश्मे में अनुरोध विधियां जोड़ दे – Calin

+2

इस उदाहरण में परीक्षक क्या है? –

4
# app/admin/post.rb 
ActiveAdmin.register Post do 
end 

# spec/controller/admin/posts_controller_spec.rb 
describe Admin::PostsController do 
    subject { get :index } 
    its(:status) { should eq 200 } 
end 
+1

मुझे यह त्रुटि हो रही है: 'अनियमित स्थिर व्यवस्थापक (नाम त्रुटि) ' कृपया, सहायता करें। :) – across

+0

@across ऐसा इसलिए है क्योंकि आपका नेमस्पेस अलग हो सकता है, या लोड नहीं हो सकता है। हो सकता है कि आप 'spec/rails_helper.rb' के बजाय 'spec/spec_helper.rb' का उपयोग कर रहे हों (एक नया स्टैक ओवरफ़्लो प्रश्न इसे हल करने के लिए जाने का तरीका होगा)। – Dorian