0
以下の問題をお持ちの方にはお礼を申し上げます。未定義のメソッド `has_selector? ' nilClass(NoMethodError)キュウリ(カピバラ)ステップ
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