【发布时间】:2011-03-12 17:41:30
【问题描述】:
我有一个 rails 控制器,在这里定义:
https://github.com/abonec/Simple-Store/blob/master/app/controllers/carts_controller.rb
在cart 页面上,用户可以通过发布嵌套属性来指定line_items 的数量。参数如下所示:
{ "cart" => {
"line_items_attributes" => {
"0" => {
"quantity" => "2",
"id" => "36" } } },
"commit" => "Update Cart",
"authenticity_token" => "UdtQ+lchSKaHHkN2E1bEX00KcdGIekGjzGKgKfH05So=",
"utf8"=>"\342\234\223" }
在我的控制器操作中,这些参数是这样保存的:
@cart.update_attributes(params[:cart])
但我不知道如何在测试中测试这种行为。 @cart.attributes 只生成模型属性,不生成嵌套属性。
如何测试这种行为?如何在我的功能测试中模拟带有嵌套属性的发布请求?
【问题讨论】:
标签: ruby-on-rails testing functional-testing