Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么我在RSpec测试中收到负载错误?_Ruby On Rails_Ruby_Csv_Rspec - Fatal编程技术网

Ruby on rails 为什么我在RSpec测试中收到负载错误?

Ruby on rails 为什么我在RSpec测试中收到负载错误?,ruby-on-rails,ruby,csv,rspec,Ruby On Rails,Ruby,Csv,Rspec,运行RSpec测试时,我收到以下加载错误: Eric-Parks-MacBook-Pro-2:Address_Bloc ericpark$ rspec spec/address_book_spec.rb models/address_book.rbrspec spec/address_book_spec.rb models/address_book.rb /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/co

运行RSpec测试时,我收到以下加载错误:

Eric-Parks-MacBook-Pro-2:Address_Bloc ericpark$ rspec spec/address_book_spec.rb models/address_book.rbrspec spec/address_book_spec.rb models/address_book.rb
/Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/configuration.rb:1226:in `load': cannot load such file -- /Users/ericpark/rails_projects/Address_Bloc/models/address_book.rbrspec (LoadError)
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/configuration.rb:1226:in `block in load_spec_files'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/configuration.rb:1224:in `each'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/configuration.rb:1224:in `load_spec_files'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/runner.rb:97:in `setup'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/runner.rb:85:in `run'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/runner.rb:70:in `run'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/lib/rspec/core/runner.rb:38:in `invoke'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.2.2/exe/rspec:4:in `<top (required)>'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/bin/rspec:23:in `load'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/bin/rspec:23:in `<main>'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `eval'
    from /Users/ericpark/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `<main>'
地址_book.rb:

require_relative "entry.rb" #Loading the model's association
require "csv"
class AddressBook
  attr_accessor :entries

  def initialize
    @entries = []
  end

  def add_entry(name, phone, email)
    #Create a variable index to store
    index = 0
    @entries.each do |entry|
      if name < entry.name
        break
      end
      index += 1
    end

    @entries.insert(index,Entry.new(name,phone,email))
  end

  def import_from_csv(file_name)
    csv_text = File.read(file_name)
    csv = CSV.parse(csv_text, headers: true)
    csv.each do |row|
      row_hash = row.to_hash
      add_entry(row_hash["name"], row_hash["phone_number"], row_hash["email"])
    end
    return csv.count
  end

  def binary_search(name)
    return nil
  end 
end
require_relative“entry.rb”#加载模型的关联
需要“csv”
类通讯簿
属性存取器:条目
def初始化
@条目=[]
终止
def添加_条目(姓名、电话、电子邮件)
#创建要存储的变量索引
索引=0
@条目。每个do |条目|
如果name

我已将entries.csv和entries_2.csv包含在与应用程序相同的文件夹中

错误告诉您,它无法加载您要求它加载的特定文件。请注意错误:

cannot load such file -- /Users/ericpark/rails_projects/Address_Bloc/models/address_book.rbrspec (LoadError)
请注意您的
rspec
命令:

$ rspec spec/address_book_spec.rb models/address_book.rbrspec spec/address_book_spec.rb models/address_book.rb
传递给
rspec
的第二个参数是
models/address\u book.rbspec
,它命名了一个不存在的文件。RSpec无法加载不存在的文件,出现此错误。在我看来,您可以将
rspec
命令简化为:

$ rspec spec/address_book_spec.rb

没有必要像你刚才那样通过第二个
spec/address\u book\u spec.rb
arg。您也不应该将实现文件(
models/address\u book.rb
)的路径传递给RSpec。相反,您应该在
spec/address\u book\u spec.rb
顶部
require'models/address\u book.rb
无法加载的文件是
models/address\u book.rbrspec
-这是关于什么的?
$ rspec spec/address_book_spec.rb