我在我的代碼多次調用File.expand_path(Rails.root)磕碰File.expand_path在rspec的/導軌4
測試我創建了以下在規格配置/支持
RSpec.configure do |config|
config.before(:each) do
File.stub(:expand_path).and_return("spec/fs")
end
end
所以這不是「/ home/user中/」每個請求File.expand_path回報「的投機/ FS /」
,效果不錯,同時我移動到軌道4,5但是之後是在軌道3
,測試開始投擲以下錯誤:
Failure/Error: let(:category) { build(:category) }
LoadError:
cannot load such file -- spec/fs
爲什麼會出現/我該如何解決這個問題?
ps。
測試/模型是非常基本的,但奇怪的是這個測試用例失敗:
#in class
def first method(category)
"#{File.expand_path(Rails.root)}/public/collections/#{self.name}/_new/#{category.name.downcase}"
end
#in rspec
describe "#first_method" do
it { expect(collection.first_method(category)).to be_instance_of(String) }
end
但是這一次不!
#in class
def second_method
"#{File.expand_path(Rails.root)}/public/collections/#{self.name}/_new/"
end
#in rspec
describe "#second_method" do
it { expect(collection.second_method).to be_instance_of(String) }
end
類製品廠爲簡單:
FactoryGirl.define do
factory :category do
name "TestCategory"
end
end
簡單
let(:category) { build(:category) }
但是好像存根失敗內置正好出現在構建:類工廠
謝謝,這證實了我的懷疑 –