J'ai la tâche RSpec (1.3.0) suivant défini dans mon Rakefile
:Pourquoi mes spécifications RSpec s'exécutent-elles deux fois?
require 'spec/rake/spectask'
Spec::Rake::SpecTask.new(:spec) do |spec|
spec.libs << 'lib' << 'spec'
spec.spec_files = FileList['spec/**/*_spec.rb']
end
Je suit dans 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'
J'ai une seule spécification déclaré dans 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
Lorsque j'exécute rake spec
, l'exemple unique s'exécute deux fois. Je peux le vérifier en faisant échouer l'exemple, en me donnant deux "F" rouges. Une chose que je pensais était que l'ajout de spec
au SpecTask
libs
les a fait être à double définition, mais en supprimant cela ne semble pas avoir d'effet.
Ce n'est pas une application Rails, ce n'est donc pas un problème. Je ne peux faire 'require 'spec_helper'' que si mon $ LOAD_PATH est déjà configuré, mais si je veux exécuter une seule spécification, $ LOAD_PATH ne sera pas défini avant' spec_helper.rb'. –