Я провел последний час, пытаясь понять, почему этот тест не пройдет.Почему этот тест rspec не пройдет?
Я работаю в Rails 4.0 с Капибара 2.1.0 и RSpec 2.14.1
Вот мой тест:
require 'spec_helper'
describe "Stats" do
subject { page }
describe "Index Page" do
before { visit stats_path }
it { should have_selector 'h1', text: 'Stats' }
end
end
И мой index.html.erb файл:
<h1>Stats</h1>
<table>
<thead>
<tr>
<th>Attendance</th>
<th>Salvations</th>
<th>Visitors</th>
<th>Offering</th>
<th>Service Date</th>
<th>Time</th>
<th>Campus</th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<% @stats.each do |stat| %>
<tr>
<td><%= stat.attendance %></td>
<td><%= stat.salvations %></td>
<td><%= stat.visitors %></td>
<td><%= stat.offering %></td>
<td><%= stat.date %></td>
<td><%= stat.time %></td>
<td><%= stat.campus.name %></td>
<td><%= link_to 'Show', stat %></td>
<td><%= link_to 'Edit', edit_stat_path(stat) %></td>
<td><%= link_to 'Destroy', stat, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<%= link_to 'New Stat', new_stat_path %>
И ошибка, которую я получаю, это:
1) Страница индекса статистики должна иметь css «h1» с текстом «Статистика» Неисправность/ошибка: он должен {должен иметь_селектор 'h1', текст: 'Stats'} Capybara :: ExpectationNotMet: ожидал найти css «h1» с текстом «Stats», но не было совпадений # ./spec/features /stats_spec.rb:7:in `block (3 уровня) в '
Я в тупике. Любая помощь будет оценена по достоинству.
Кстати, моя индексная страница корректно отображается без ошибок.
Ненавижу, когда я пропускаю очевидное, но я уверен, благодарен за stackoverflow. Это точно проблема. Я использую устройство и забыл пройти аутентификацию в тесте. Спасибо –
Всегда полезно иногда заставлять голову за пределами нашего кода. Приветствия :) – Benj