У меня есть следующий RSpec (1.3.0) задача, определенная в моем Rakefile
:
require 'spec/rake/spectask'
Spec::Rake::SpecTask.new(:spec) do |spec|
spec.libs << 'lib' << 'spec'
spec.spec_files = FileList['spec/**/*_spec.rb']
end
У меня есть следующее в 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'
Мне объявили единственную спецификацию в 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
Когда я работаю rake spec
, единственный пример работает дважды. Я могу проверить его путем создания сбоя в качестве примера, предоставления мне двух красных "F" s.
Одной вещью я думал, было то добавление spec
к SpecTask
libs
заставлял их быть дважды определенными, но удалял, который, кажется, не имеет эффекта.
Не знаю, решит ли это проблему, но вы можете использовать require 'spec_helper'
вместо require File.dirname (__ FILE__) + '/../spec_helper'
Кроме того, 'spec / autorun'
потребует для вас 'spec'
.
Единственное, что я могу придумать, это то, что в вашей системе определены две задачи спецификации. Это приложение для рельсов? Если это так, убедитесь, что вы не дублируете задачу rake, которая уже существует в lib / rake / tasks
.
HTH, Дэвид