Ich habe den folgenden Schritt:Rails + Gurke + Capybara: Vergleichen erwartet Tabelle mit HTML-Tabelle
Then I should see the following games:
| soccer | 94040 | "friendly" |
| basketball | 94050 | "competition"|
Und ich habe die folgenden Schritt Definition:
Then /^I should see the following games:$/ do |expected_table|
table_results = page.find('#games_results_table')
end
Wenn ich puts table_results
erhalte ich:
#<Capybara::Element tag="table" path="/html/body/div[2]/table">
Ich habe versucht, dies zu tun, um expected_table mit den table_results zu vergleichen:
expected_table.diff!(table_results)
Aber ich bekomme diese Fehlermeldung:
undefined method `transpose' for #<Capybara::Element tag="table" path="/html/body/div[2]/table"> (NoMethodError)
Beachten Sie, dass die Ansicht, dass die Tabelle rendert das ist:
<div class="page-header">
<h1>Games</h1>
<table id="games_results_table" class="table table-striped">
<tr>
<th>Sport Type</th>
<th>Zip Code</th>
<th>Description</th>
</tr>
<% @games.each do |game| %>
<tr>
<td><%= game.sport_type %></td>
<td><%= game.zip_code %></td>
<td><%= game.description %></td>
</tr>
<% end %>
</table>
</div>
Was mache ich falsch?
dieses [GIST] (https://gist.github.com/denmarkin/1334262) stellt ein Arbeitsbeispiel für den Vergleich in einer Tabelle Ihre Funktion in einer Tabelle in Ihrem generierten HTML. – Ritchie