Метод« ожидать »он недоступен при попытке вызова из метода класса. Тем не менее, он отлично работает при вызове из спецификации функции. Так что в основном последний метод (i_expect_to_see_article_on_home_page) не работает.Метод Capybara неприемлем из calss undefined method `expect 'for # <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
спецификации/особенности/article_spec.rb
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
У вас слишком много «конца» в спецификации статьи. Вы можете исправить это, пожалуйста, –
какая ошибка вы получаете? – fabersky
undefined method 'has_content 'или undefined method' expect' for # Возможно, вы имели в виду? exec –
Faisal