0
Я был бы признателен за помощь в решении следующей проблемы.undefined метод `has_selector? ' для nil: NilClass (NoMethodError) огурец (capybara) step
Когда я запускаю мой огурец (с помощью водосвинку) функцию с помощью
rake cucumber:wip
Я получаю следующее сообщение об ошибке: (т.е. объект ответа не определен по какой-то причине)
Then I should be able to see 1 announcement # features/step_definitions/view_announcements_steps.rb:8
undefined method `has_selector?' for nil:NilClass (NoMethodError)
./features/step_definitions/view_announcements_steps.rb:10:in `/^I should be able to see (\d+) announcement$/'
features/view_announcements.feature:13:in `Then I should be able to see 1 announcement'
У меня есть следующий файл особенность огурца:
@wip
Feature: User views announcements
As a user
I want to be able to view announcements
So that I am up-to-date with the latest news
Background:
Given there is 1 announcement
Scenario: I am not logged in
Given I am not logged in
When I go to main
Then I should be able to see 1 announcement
Scenario: I am logged in
Given I am logged in as "test/password"
When I go to main
Then I should be able to see 1 announcement
и шаг определения:
Given /^there is|are (\d+) announcement$/ do |arg1|
arg1.to_i.times do
Announcement.create!({:title => "Test Announcement",
:body => "This is a test"})
end
end
Then /^I should be able to see (\d+) announcement$/ do |arg1|
response.should have_selector("div#announcement", :count => arg1)
end
When /^(?:|I)go to (.+)$/ do |page_name|
visit path_to(page_name)
end
Given /^I am not logged in$/ do
visit('/users/sign_out')
end
Given /^user "([^\/]*)\/([^\"]*)" exists$/ do |username, password|
User.new(:username => username,
:password => password,
:password_confirmation => password).save!
end
Given /^I am logged in as "([^\/]*)([^\"]*)"$/ do |username, password|
Given %{user "#{username}/#{password}" exists}
visit('/users/sign_in')#And %{I go to sign_in}
And %{I fill in "user_password" with "#{password}"}
And %{I press "Sign in"}
end