에 대해 'expect'라는 calss 정의되지 않은 메서드에서 받아 들일 수 없습니다.이 메서드는 클래스 메서드에서 호출 할 때 액세스 할 수 없다고 예상합니다. 그러나 그것은 기능 spec.So에서 호출 할 때 기본적으로 마지막 방법 (i_expect_to_see_article_on_home_page) 작동하지 않습니다 잘 작동합니다.Capybara 메서드는 # <ArticleForm : 0xb5e98bc>
사양/지원/ArticleForm.rb
require 'rails_helper'
class ArticleForm
include Capybara::DSL
def visit_home_page
visit('/')
self
end
def create_an_article
click_on('New Article')
fill_in('Title', with: "My title")
fill_in('Content', with: "My content")
click_on('Create Article')
self
end
def i_expect_to_see_article_on_home_page
visit('/')
expect(page).to have_text("My title")
expect(page).to have_text("My content")
self
end
end
당신이 그것을 포장 할 생각이 있지만, 사용하고있는 구문
require 'rails_helper'
require_relative '../support/ArticelForm.rb'
feature "home page" do
article_form = ArticleForm.new
scenario "Visit the home page and post an article" do
article_form.visit_home_page.create_an_article
article_form.visit_home_page.i_expect_to_see_article_on_home_page
end
end
기사 사양에 너무 많은'end'가 있습니다. 문제를 해결할 수 있습니까? –
무엇이 오류입니까? – fabersky
정의되지 않은 메소드 'have_content'또는 #에 대한 예상되지 않은 메소드 'expect' 의미 하시겠습니까? exec –
Faisal