Capybara Acceptance DSL с MiniTest :: Spec?

Readme для Capybara (см. Использование Capybara с MiniTest :: Spec ) говорит, что я могу сделать это, если правильно включу модуль, но не дает никаких иллюстративных примеров того, как ... Я пробовал включать ng модуль вроде этого:

class MiniTest::Spec
  include Capybara::DSL
end

... безрезультатно. Я все время получаю эту ошибку:

': undefined method
feature' для main: Object (NoMethodError)

Как мне заставить его работать так, как написано в закомментированном коде?


spec / accept / api / reward_terms_spec.rb:

require "#{Dir.pwd}/spec/acceptance/acceptance_helper"

# this syntax works...

describe 'reward terms acceptance test' do
  include Capybara::DSL

  describe '#index' do
    specify {
      visit '/reward_terms'
      # ...
    }
  end
end

# this syntax doesn't work...

# feature 'RewardTerms', %q{
#   In order to get all reward terms available to me
#   As an API client
#   I want to list all active RewardTerms
# } do

#   background do
#     set_api_headers
#   end

#   scenario 'RewardTerm index' do
#     visit '/reward_terms'
#     ...
#   end
# end

spec / accept / accept_helper.rb:

ENV["RAILS_ENV"] = "test"
require "#{Dir.pwd}/config/environment"

require 'minitest/autorun'
require 'capybara/rails'

def set_api_headers(device_id = 'abcd1234')
  header 'Accept', 'application/json'
  header 'X-Device-Id', device_id
end

6
задан neezer 16 November 2011 в 04:36
поделиться