He la (1.3.0) RSpec tarea siguiente definido en mi Rakefile
:¿Por qué mis especificaciones de RSpec se ejecutan dos veces?
require 'spec/rake/spectask'
Spec::Rake::SpecTask.new(:spec) do |spec|
spec.libs << 'lib' << 'spec'
spec.spec_files = FileList['spec/**/*_spec.rb']
end
Tengo el siguiente en spec/spec_helper.rb
:
require 'rubygems'
require 'spec'
require 'spec/autorun'
require 'rack/test'
require 'webmock/rspec'
include Rack::Test::Methods
include WebMock
require 'omniauth/core'
que tienen una especificación única declarada en spec/foo/foo_spec.rb
:
require File.dirname(__FILE__) + '/../spec_helper'
describe Foo do
describe '#bar' do
it 'be bar-like' do
Foo.new.bar.should == 'bar'
end
end
end
Cuando ejecuto rake spec
, el ejemplo único se ejecuta dos veces. Puedo verificarlo haciendo que el ejemplo falle, dándome dos "F" rojas.
Una cosa que pensé fue que agregar spec
al SpecTask
's libs
provocaba que se definieran doblemente, pero eliminar eso no parece tener ningún efecto.
No es una aplicación de Rails, por lo que ese no es el problema. Solo puedo hacer 'require 'spec_helper'' si mi' $ LOAD_PATH' ya está configurado, pero si quiero ejecutar una única especificación, '$ LOAD_PATH' no se establecerá hasta dentro de' spec_helper.rb'. –