5

मैं रेल 5 और न्यूनतम का उपयोग कर रहा हूं। मैं सोच रहा था, मैं अपने नियंत्रक विधि के आवृत्ति चर में किसी फ़ील्ड के मान का परीक्षण कैसे करूं? मुझे लगता है कि मैं अगर चर परिभाषित किया गया है परीक्षण करने के लिए चाहते हैं, तो मैंनियंत्रक आवृत्ति चर में किसी विशेषता के मान का परीक्षण कैसे करें?

assert_not_nil assigns(:issue) 

कर सकते हैं, लेकिन मैं कम स्पष्ट कर रहा हूँ मैं @ issue.stop_id का मूल्य का परीक्षण करना चाहते हैं। मेरे नियंत्रक विधि

# GET /issues/new 
    def new 
    unless user_signed_in? 
     redirect_to new_user_session_path 
    end 
    @issue = Issue.new(stop_onestop_id: params[:stop_id], line_onestop_id: params[:line_id]) 
    end 

मैं अपने परीक्षण विधि

test "get index page" do 
    get index_url 
    assert_not_nil assigns(:issue) 
    assert_equal test_stop_id, @issue.stop.id 
    assert_equal test_line_id, @issue.line.id 
    assert_response :success 
    end 

में यह कोशिश कर रहा हूँ, लेकिन मैं परीक्षा पद्धति में लाइन

assert_equal test_stop_id, @issue.stop_id 

पर एक NoSuchMethodError हो रही है

test "logged in should get issues page" do 
    sign_in users(:one) 
    test_stop_id = 1 
    test_line_id = 1 
    get new_issue_url, params: {stop_id: test_stop_id, line_id: test_line_id} 
    assert_equal test_stop_id, @issue.stop_id 
    assert_equal test_line_id, @issue.line_id 
    assert_response :success 
    end 

उत्तर

0

यह सबसे अच्छा नहीं हो सकता है इसे संभालने का तरीका, लेकिन मैंने देखा है कि assigns(:instance_var_name) का उपयोग आवृत्ति चर के मान को वापस कर देगा, ताकि आप इस तरह से कुछ मूल्य के साथ मूल्य का परीक्षण कर सकें:

issue_var = assigns(:issue) 
assert_equal test_stop_id, issue_var.stop_id 
संबंधित मुद्दे