小编Mik*_*e E的帖子

我可以在不提供显式外键的情况下测试嵌套资源吗?

我正在尝试修复嵌套资源的功能测试.我的config/routes.rb文件看起来像这样:

Shop360::Application.routes.draw do

  resources :libraries do
    resources :library_imports
  end
end
Run Code Online (Sandbox Code Playgroud)

嵌套library_imports资源会破坏生成的测试,如下所示:

test "should get index" do
  get :index
  assert_response :success
  assert_not_nil assigns(:library_imports)
end
Run Code Online (Sandbox Code Playgroud)

因为嵌套会更改所有网址.

我已经在几个地方看到了通过添加如下library_id参数来解决这个问题的建议:

test "should get index" do
  get :index, :library_id => 1
  assert_response :success
  assert_not_nil assigns(:library_imports)
end
Run Code Online (Sandbox Code Playgroud)

(第二行改了)

为了使这个工作,我必须library_id在我的library_import夹具中明确指定一个?自Rails 2.0以来,可以在夹具数据中定义关联,而无需借助这些显式的键定义.我现在被迫回到这只老鼠窝里,因为我正在筑巢资源吗?

有没有更好的方法让我的测试通过?

ruby-on-rails fixtures testunit

3
推荐指数
1
解决办法
1331
查看次数

标签 统计

fixtures ×1

ruby-on-rails ×1

testunit ×1