Railstutorial 第 9 章用户索引测试在修改分页后引发失败
Railstutorial Chapter 9 User index test raised a failure after modify pagination
我只是好奇它是怎么发生的
在尝试将分页中每页的用户数减少到 10 之后(默认为 30,我认为这太长了)。我的索引测试就这样引发了失败
1) Failure:
UsersIndexTest#test_index_as_admin_including_pagination_and_delete_links
[/home/ubuntu/workspace/contoh/test/integration/users_index_test.rb:17]:
Expected at least 1 element matching "a[href="/users/338193910"]", found 0..
Expected 0 to be >= 1.
我改变的只是分页参数 Listing 9.42
@users = User.paginate(page: params[:page],:per_page => 10)
在app/controllers/users_controller.rb
这里是 /users_index_test.rb
中的第 17-20 行
assert_select 'a[href=?]', user_path(user), text: user.name
unless user == @admin
assert_select 'a[href=?]', user_path(user), text: 'delete',
method: :delete
尝试一些配置后
我发现将per_page参数放在全局参数中是解决方案
所以,我把它放在app/controller/application_controller.rb这一行
WillPaginate.per_page = 10
我遇到了同样的问题,因为我改变了这个
在我的 app/controllers/users_controller.rb:
def index
@users = User.paginate(page: params[:page])
end
到
def index
@users = User.paginate(page: params[:page], per_page: 10)
end
现在我遇到了与 users_index_test
相同的错误
在浏览和阅读这篇文章后,我想到了以下解决方案:
在test/integration/users_index_test.rb我改了:
first_page_of_users = User.paginate(page: 1)
到
first_page_of_users = User.paginate(page: 1, per_page: 10)
测试成功:)
我只是好奇它是怎么发生的
在尝试将分页中每页的用户数减少到 10 之后(默认为 30,我认为这太长了)。我的索引测试就这样引发了失败
1) Failure:
UsersIndexTest#test_index_as_admin_including_pagination_and_delete_links
[/home/ubuntu/workspace/contoh/test/integration/users_index_test.rb:17]:
Expected at least 1 element matching "a[href="/users/338193910"]", found 0..
Expected 0 to be >= 1.
我改变的只是分页参数 Listing 9.42
@users = User.paginate(page: params[:page],:per_page => 10)
在app/controllers/users_controller.rb
这里是 /users_index_test.rb
中的第 17-20 行assert_select 'a[href=?]', user_path(user), text: user.name
unless user == @admin
assert_select 'a[href=?]', user_path(user), text: 'delete',
method: :delete
尝试一些配置后
我发现将per_page参数放在全局参数中是解决方案
所以,我把它放在app/controller/application_controller.rb这一行
WillPaginate.per_page = 10
我遇到了同样的问题,因为我改变了这个 在我的 app/controllers/users_controller.rb:
def index
@users = User.paginate(page: params[:page])
end
到
def index
@users = User.paginate(page: params[:page], per_page: 10)
end
现在我遇到了与 users_index_test
相同的错误在浏览和阅读这篇文章后,我想到了以下解决方案:
在test/integration/users_index_test.rb我改了:
first_page_of_users = User.paginate(page: 1)
到
first_page_of_users = User.paginate(page: 1, per_page: 10)
测试成功:)