Tôi có RSpec (1.3.0) nhiệm vụ sau đây theo quy định tại Rakefile
tôi:Tại sao thông số RSpec của tôi chạy hai lần?
require 'spec/rake/spectask'
Spec::Rake::SpecTask.new(:spec) do |spec|
spec.libs << 'lib' << 'spec'
spec.spec_files = FileList['spec/**/*_spec.rb']
end
Tôi đã sau trong 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'
Tôi có một spec đơn khai báo trong 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
Khi tôi chạy rake spec
, ví dụ đơn lẻ chạy hai lần. Tôi có thể kiểm tra nó bằng cách làm ví dụ thất bại, cho tôi hai chữ "F" màu đỏ.
Một điều tôi nghĩ là thêm spec
vào SpecTask
's libs
đã khiến chúng được xác định hai lần, nhưng việc loại bỏ điều đó dường như không có hiệu lực.
Nó không phải là một ứng dụng Rails, do đó, đó không phải là vấn đề. Tôi chỉ có thể làm 'require 'spec_helper'' nếu' $ LOAD_PATH' của tôi đã được thiết lập, nhưng nếu tôi muốn chạy một spec, '$ LOAD_PATH' sẽ không được đặt cho đến khi bên trong' spec_helper.rb'. –