El archivo Léame para Capibara (ver Using Capybara with MiniTest::Spec) dice que puedo hacer esto si incluyo el módulo correctamente, pero no da ningún ejemplo ilustrativo de cómo ... He intentado incluir el módulo así:Capybara Acceptance DSL con MiniTest :: Spec?
class MiniTest::Spec
include Capybara::DSL
end
... en vano. Sigo recibiendo este error:
<main>': undefined method
feature' for main:Object (NoMethodError)
¿Cómo puedo conseguir que funcione, ya que está escrito en el código comentado de salida?
spec/aceptación/api/reward_terms_spec.rb: especificación
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
/aceptación/acceptance_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
Sí, vi a ese puesto, pero que sólo le permite usar los comparadores Capybara, no la DSL BDD para las pruebas de aceptación, que es lo que soy después de ... – neezer
En [enlace] (https://github.com/jnicklas/capybara) la parte del Capybara DSL está contenida en la sección "Uso de Capybara con RSpec", ahí dice "Finalmente, Capybara también viene con un DSL incorporado para crear pruebas descriptivas de aceptación: ". Sin embargo, después de presentar DSL en acción dice: "' feature' es de hecho solo un alias para 'describe ...,: type =>: request',' background es un alias para 'before', y' scenario' para 'it'." Por lo tanto, no tiene suerte si desea usarlo con MiniTest, ya que es una función solo de RSpec, pero puede intentar definir sus propios alias – Patru
. La publicación de blog vinculada se ha eliminado de Posterous, pero aquí está en el Archivo de Internet: http://web.archive.org/web/20130314201201/http://code-ningja.posterous.com/73460416 –