2015-05-20 10 views
5

मैं मिनीकैस्ट में पहले से अनुप्रयोग एप्लिकेशन नियंत्रक का परीक्षण कैसे कर सकता हूं? मेरे पास पहले_एक्शन है जो यूआरएल पैरा से लोकेल सेट करता है लेकिन मुझे नहीं पता कि इसके लिए टेस्ट कैसे सेट अप करें।न्यूनतम - परीक्षण अनुप्रयोग नियंत्रक रेल में पहले_एक्शन 4

उत्तर

2

आप इसे एक अनाम नियंत्रक सेट करके और उस नियंत्रक को spec अनुरोध को रूट करके कर सकते हैं।

require 'test_helper' 

class BaseController < ApplicationController 
    def index 
    render nothing: true 
    end 
end 

class BaseControllerTest < ActionDispatch::IntegrationTest 
    test 'redirects if user is not logedin' do 
    Rails.application.routes.draw do 
     get 'base' => 'base#index' 
    end 

    get '/base' 

    assert_equal 302, status 
    assert_redirected_to 'http://example.com/login' 
    Rails.application.routes_reloader.reload! 
    end 

    test 'returns success if user is loggedin' do 
    Rails.application.routes.draw do 
     get 'base' => 'base#index' 
    end 

    mock_auth! 

    get '/base' 
    assert_equal 200, status 
    Rails.application.routes_reloader.reload! 
    end 
end 
:

यहाँ एक उदाहरण है

संबंधित मुद्दे