Почему мои спецификации RSpec работают дважды?

У меня есть следующий 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 заставлял их быть дважды определенными, но удалял, который, кажется, не имеет эффекта.

17
задан James A. Rosen 12 June 2010 в 22:21
поделиться

1 ответ

Не знаю, решит ли это проблему, но вы можете использовать require 'spec_helper' вместо require File.dirname (__ FILE__) + '/../spec_helper'

Кроме того, 'spec / autorun' потребует для вас 'spec' .

Единственное, что я могу придумать, это то, что в вашей системе определены две задачи спецификации. Это приложение для рельсов? Если это так, убедитесь, что вы не дублируете задачу rake, которая уже существует в lib / rake / tasks .

HTH, Дэвид

2
ответ дан 30 November 2019 в 11:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: