簡體   English   中英

即使 RSpec 在 Rails 控制台中加載,它也不會加載我的類

[英]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/parserData類周圍,我也嘗試將其移動到lib/parser執行相同的模塊包裝類,並添加lib/parser以在application.rb自動加載,但是到目前為止沒有任何效果。

我究竟做錯了什么?

require 'rails_helper'而不是spec_helper 只需要spec_helper為我重現該問題,並需要rails_helper修復它。 有關spec_helperrails_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM