在控制器中我得到了这个:
def output
if params[:find]
result
elsif params[:print_db]
print_db
end
end
测试不想进入params [:find]条件。
测试控制器:
test "should get 5 5 1 for view with 5 5 1 3 3" do
get :output, {str: "5 5 1 3 3 5"}, :params => 'find'
assert_equal assigns[:result], "5, 5, 1"
end
拜托,帮助我!
答案 0 :(得分:1)
您似乎希望同时拥有:params[:str]
和params[:find]
参数。
变化:
get :output, {str: "5 5 1 3 3 5"}, :params => 'find'
到:
get :output, str: '5 5 1 3 3 5', find: true
因为您的版本将:params => 'find'
部分传递到session
变量而不是params
。您可能希望在Rails' guide中阅读get
方法接受的参数。
答案 1 :(得分:1)
试试这个:
get :output, { str: "5 5 1 3 3 5", find: true }
在您的请求中,您只发送str
,其中包含值"5 5 1 3 3 5"
且没有find
参数。您必须将所有参数放入第一个哈希值。