2008-11-24 77 views
3

我想测试我的应用程序中有一个方法,但是我不知道如何单元测试一种被伪造的方法,请看看这个:在Rails中防止伪造的测试控制器方法

def index 
    @alumnos = Alumno.paginate :per_page => 20, 
     :page => params[:page], :order => :nombre 

    respond_to do |format| 
     format.html # index.html.erb 
     format.xml { render :xml => @alumnos } 
    end 
    end 

在index.html.erb我有这样一行:

<%= javascript_tag "window._token = '#{form_authenticity_token}'" %> 

所以,当我尝试用功能测试,以测试它,它似乎会话没有秘密工作会导致测试失败,有没有人有经验测试这种方法?

回答

1

这里是一个解决方案(或替代方法): 在控制器/ application.rb中

if RAILS_ENV =='test' 
    protect_from_forgery :secret => 'write ur secret in config/environment.rb' 

    else 

protect\_from_forgery 

    end