首先,在Rails3路由中不推荐使用FirstOffMap,您可能应该有这样的内容。
resources :users do
resources :posts
end
Given /^I have one user "([^\"]*)" with email "([^\"]*)" and password "([^\"]*)"$/ do |username,email, password|
@user = User.new(:email => email,
:username=>username,
:password => password,
:password_confirmation => password)
@user.save!
end
Given /^I am an authenticated user$/ do
name = 'exmample'
email = 'example@example.com'
password = 'secret!'
Given %{I have one user "#{name}" with email "#{email}" and password "#{password}"}
And %{I go to the user login page}
And %{I fill in "user_username" with "#{name}"}
And %{I fill in "user_password" with "#{password}"}
And %{I press "Sign in"}
end
Feature:
In order to reboot my crappy/POS equipment without bothering the awesome Noc Monkeys
I would like to login to a webpage and see the status of and control the outlets on my equipment
Background: Valid and authenticated user with at least one outlet to control
Given I am an authenticated user
@ok
Scenario: Viewing All outlets
Given I am able to control an outlet with index "1"
And I am on the home page
Then I should see "server_1"
另外,通常我不会在cucumber步骤中调用render。因为您使用的是模拟浏览器(假设是webrat/capybara),所以
visit path_to(page_name)
.