[英]RSpec doesn't load my class even though it loads in the Rails console
我在app/models/parser
有一個名為data.rb
其中包含內容:
class Parser::Data
def method1
end
end
在這一點上沒什么特別的。 我正在嘗試在實現太多之前為其編寫測試,只是為 Rails 安裝了默認的 RSpec。
我的 RSpec 文件在spec/models/parser/data_spec.rb
,到目前為止非常基本:
require 'spec_helper.rb'
describe Parser::Data do
let(:parser) { Parser::Data.new }
end
當我運行測試時,我收到此錯誤:
spec/models/parser/data_spec.rb:3:in `<top (required)>': uninitialized constant Parser (NameError)
我嘗試將module Parser
放在同一目錄app/models/parser
的Data
類周圍,我也嘗試將其移動到lib/parser
執行相同的模塊包裝類,並添加lib/parser
以在application.rb
自動加載,但是到目前為止沒有任何效果。
我究竟做錯了什么?
require 'rails_helper'
而不是spec_helper
。 只需要spec_helper
為我重現該問題,並需要rails_helper
修復它。 有關spec_helper
與rails_helper
(包括性能影響)的更多信息: spec/rails_helper.rb 與 spec/spec_helper.rb 有何不同? 我需要嗎?
我通過使用bundle exec rspec
運行 RSpec 重現了這個問題。 如果我使用bin/rspec
(這是由 spring-commands-rspec gem 生成的 binstub)運行 RSpec,它並不關心我需要哪個幫助文件。 我想春天會更熱切地加載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.