2

テストが失敗する理由を教えていただければ幸いです。私はMichael Hartlのチュートリアルに基づいてそれを行っており、ほとんどすべてを試し、それについて多くのことを読みましたが、まだ無知です. タンクス

私のテスト:

「ページネーション」について説明する

before(:all) do
  sign_in FactoryGirl.create(:user)
  30.times { FactoryGirl.create(:user) }
  visit users_path
end

after(:all)  { User.delete_all }

it 'has the right div' do
  page.should have_selector('div.pagination')
end

it "should list each user" do
  User.paginate(page: 1).each do |user|
    expect{page}.to have_selector('li', text: user.username)
  end
end

私の見解:

<h1>Všichni uživatelé</h1>

<%= will_paginate %>
<ul class="users">
  <% @users.each do |user| %>
    <li>
      <%= gravatar_for user%>
      <%= link_to user.username, user %>
    </li>
  <% end %>
</ul>

<%= will_paginate(:renderer => BootstrapPagination::Rails)%>

私のコントローラー:

def index
 @users = User.paginate(page: params[:page])
end

私のエラー:

 1) User pages index pagination should list each user
 Failure/Error: expect{page}.to have_selector('li', text: user.username)
   expected css "li" with text "Person 44" to return something
 # ./spec/requests/user_pages_spec.rb:122:in `block (5 levels) in <top (required)>'
 # ./spec/requests/user_pages_spec.rb:121:in `block (4 levels) in <top (required)>'
4

1 に答える 1

0

私は次の行だと思います:

expect{page}.to have_selector('li', text: user.username)

次のようにする必要があります。

expect{page}.to have_selector('li', text: user.user.name)

于 2014-02-26T09:57:45.780 に答える