0

テーブルを使用して勤務表を表し、RSpec を使用して日付が表示されていることをテストしたいと考えています。

 describe "Checking the rota" do

    let(:service){ FactoryGirl.create(:service)}
    before{ visit root_path } #this is where the rota is displayed
    it{ should have_selector('td', date: service.date) }

  end

私が知る限り、アプリケーション自体は問題なく動作しており、自分でページにアクセスしたときに勤務表が完全に表示されています。なぜテストが失敗するのか、私は興味があります。私が使用している工場スクリプトは次のとおりです。

factory :service do
    date Date.today
    leader "Bob"
    singers "Mr T"
    soundAM "Thor"
    soundPM "Wobbles"
  end     

最後に、勤務表をレンダリングするために使用しているスタブ:

<% if(service.date < Date.today) %>
  <% service.destroy %>
<% end %>
<tr>
    <td><%=link_to service.date, edit_service_path(service.id) %></td>
    <td><%= service.leader %></td>

    ...</tr>

事前に助けてくれてありがとう。

4

1 に答える 1

0

正しい行は次のとおりだと思います。

it{ should have_selector('td', text: service.date) }

Capybara と Webrat のどちらを使用しているかによって異なります

于 2012-07-10T08:00:50.090 に答える