2012-04-10 75 views
1

我试图测试Rspec的一个搜索功能的搜索概念,
这是我到目前为止,如何测试在rspec的

def product_search 
    filter = "" 
    filter = filter + " and B.sku like '#{params[:sku]}%'" if params[:sku] && params[:sku] != "" 
    filter = filter + " and A.name like '#{params[:name]}%'" if params[:name] && params[:name] != "" 
    filter = filter + " and D.name like '#{params[:store_name]}%'" if params[:store_name] && params[:store_name] != "" 
    if params[:approved] == "0" 
     filter= filter + "and (A.is_approved = false And A.approved_by is NULL) " 
    elsif params[:approved] == "1" 
     filter= filter + "and A.is_approved = true " 
    elsif params[:approved] == "2" 
     filter= filter + " and (A.is_approved = false And A.approved_by is NOT NULL) " 
    end 
    @products=Product.seller_product_search(filter,current_user.store.id).paginate(:page => params[:page], :per_page => 10) 
    respond_to do |format| 
    format.html 
    format.js 
    end 
end 

我应该怎么写RSpec的这段代码?

回答

1

我会把整个搜索逻辑放到产品模型中,并将params散列传递给它。

然后我会创建一个方法来测试这个模型规范。这应该是非常简单的。

您遇到的问题是什么?

+0

我不知道如何测试 – Swathi 2012-04-11 03:37:32

+0

如果这是你的问题,那么看看网上提供的所有资源:http://railscasts.com/?tag_id=7 http://guides.rubyonrails.org /testing.html等... – phoet 2012-04-11 07:04:58

+0

嘿@phoet我做了一些工作,就像你在回答中说的,现在混淆开始测试,你可以请你看看那个测试你输入有史以来? – Awais 2014-07-03 10:44:48