Chcę uruchomić test, który testuje kolejność elementów Chcę, aby kolejność rosła według daty.Kolejność testu ogórek elementów w tabeli
Oto mój scenariusz funkcji ogórka i krok do ostatniego zdania.
Scenario: Order of the events should be Ascending
Given I am signed into an account called "Gorilla Tech" as a customer
When I follow "Register"
And I follow "Events"
And I follow "Register new event"
Then I should see the header "Use the form below to register a new event"
And I fill in "Title" with "Apefest 2010"
And I fill in "Event at" with "2010-01-07"
And I fill in "Add a note" with "This was truly awesome"
Then I press "Create"
Then I follow "Register new event"
And I fill in "Title" with "Monkeyfest 2010"
And I fill in "Event at" with "2010-01-08"
And I fill in "Add a note" with "Yeah"
Then "Apefest 2010" should appear before "Monkeyfest 2010"
Then /"(.*)" should appear before "(.*)"/ do |first_example, second_example|
response.body.should =~ /#{first_example}.*#{second_example}/
end
Naprawdę mam tu dwa problemy. Pierwszym z nich jest to, w jaki sposób poprawnie określić mój test? Czy mogę określić mój test powyżej różnych i bardziej poprawnych?
Co chcę zrobić, to zarejestrować 2 różne wydarzenia w 2 różnych datach. Wydarzenie pojawi się później jako lista na stronie. Następnie chcę sprawdzić, czy wydarzenia są uporządkowane według daty. Chcę, aby wydarzenie z najnowszą datą pojawiło się na górze.
tutaj jest kod z kolekcji, którą chcę przetestować. W pewnym sensie chcę sprawdzić, czy kolekcja w div poniżej ma rosnącą kolejność według daty.
<div id="feeds">
<table>
<caption><%= t('events.all') %></caption>
<thead>
<tr>
<th><%= Event.t(:title) %></th>
<th><%= Event.t(:event_at) %></th>
<th></th>
</tr>
</thead>
<tbody>
<%= render :partial => 'event', :collection => @events %>
</tbody>
</table>
</div>
<%= will_paginate(@events) %>
Musimy bardziej wyjaśnić o prawdziwym pytaniem – shingara
zgodzić się z @shingara, co to chciałbyś wiedzieć? Twój scenariusz jest zbyt długotrwały. Prawdopodobnie powinieneś zmienić ten test, ponieważ testujesz wiele różnych rzeczy w jednym scenariuszu. –
Kiedy rejestruję zdarzenia, więc rejestruję 2 zdarzenia z 2 różnymi event_at. Później chcę sprawdzić, czy moje wydarzenia rejestracyjne zostały zamówione z najnowszym wydarzeniem na górze. To właśnie próbuję porównać ze stołem. Problem polega na tym, że test sprawdza tylko, czy konto ma wydarzenie, a nie kolejność, w jakiej znajduje się wydarzenie. Jestem zupełnie nowy w testach na ogórki, więc naprawdę nie znam dobrego sposobu na określenie moich testów. –