私はキュウリに不慣れで、次のステップの定義をどのように整理できるかについての提案をお願いしたいと思います。
Feature: Manage events
In order to Manage events
Organizer
wants to create new events
Background:
Given I am logged in as organizer
Scenario: Publish new event
Given I am on the new event page
When I fill in "Title" with "Rails event"
And I fill in "Start at" with "2012-5-4"
And I fill in "End at" with "2012-5-5"
And I fill in "Description" with "Bla bla"
And I check "Published"
And I press "Create Event"
Then I should see "Rails event"
あいまいさを生み出すステップの定義は次のとおりです。
When /^I fill in "Start at" with "(.*?)-(.*?)-(.*?)"$/ do |year, month, day|
enter_date(:event_start_at, year, month, day)
end
When /^I fill in "End at" with "(.*?)-(.*?)-(.*?)"$/ do |year, month, day|
enter_date(:event_end_at, year, month, day)
end
When /^I fill in "(.*?)" with "(.*?)"$/ do |name, value|
fill_in name, :with => value
end
private
def enter_date(id, year, month, day)
select year, :with => "#{id}_1i"
select month, :with => "#{id}_2i"
select day, :with => "#{id}_3i"
end
何が起こるかというと、最初の2つの定義が最後の定義とあいまいです。しかし、開始日と終了日については、私はそれらを異なる方法で処理する必要があります。私が知っているのは、キュウリにはその問題を解決する--guessオプションがあるということです。しかし、これはベストプラクティスですか?