मान लीजिए कि आप, बनाने के लिए एक नियंत्रक कार्रवाई की है इस प्रकार है:
def create
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to(@post, :notice => 'Post was successfully created.') }
format.xml { render :xml => @post, :status => :created, :location => @post }
else
format.html { render :action => "new" }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
end
end
end
और यहाँ है मानक मचान 'पदों # नए' दृश्य
<h1>New post</h1>
<% form_for(@post) do |f| %>
<%= f.error_messages %>
...... # just to show, it's bigger....
अब, यदि कोई पोस्ट सफलतापूर्वक बनाया गया है तो आप रीडायरेक्ट करना चाहते हैं, लेकिन अगर यह विफल हो जाता है, तो हम केवल नई कार्रवाई को फिर से प्रस्तुत करना चाहते हैं। नीचे दिया गया परीक्षण हमारे मुख्य व्यक्ति डीजेट्रिपलट्राइट ने assert_template
का उपयोग करने के लिए कहा है।
test "should not create post and instead render new" do
post :create, :post => { }
assert_template :new
#added to doubly verify
assert_tag :tag => "h1", :child => /New post/
end
है कि अभी भी अपनी नाव नाव नहीं है, तो मैं भी तो तुम्हें पता है कि यह दिखाया गया है/अंत उपयोगकर्ता के लिए प्रदान की गई है यकीन है कि दृश्य के कुछ आ रहा है बनाने के लिए, एक assert_tag जोड़ना होगा।
उम्मीद है कि इससे मदद मिलती है।
इस परीक्षण है कि कार्रवाई विधि बुला लिया गया। एक क्रिया किसी भी दृश्य को प्रस्तुत या यहां तक कि रीडायरेक्ट भी प्रस्तुत कर सकती है। – jwadsack