【发布时间】:2015-11-20 09:32:08
【问题描述】:
我在 rails v4.0.9 中有现有的 RailsApp
我的团队使用一些 gem 开发并在文件夹 initializers 中配置多个文件
我需要使用 Rspec 构建测试框架,这是我的 Gemfile:
group :development, :test do
gem "rspec-rails", "~> 3.1.0"
gem "factory_girl_rails", "~> 4.4.1" , :require => false
end
group :test do
gem "faker", "~> 1.4.3"
gem "capybara", "~> 2.4.3"
gem "database_cleaner", "~> 1.3.0"
gem "launchy", "~> 2.4.2"
gem "selenium-webdriver", "~> 2.43.0"
end
我刚刚尝试构建模型规范,模型名称是 cart,首先我输入了非常简单的规范,只是为了确保 Rspec 正常运行:
require 'rails_helper'
describe Cart do
it "has a valid factory for Cart"
end
在spec/factories/cart.rb:
FactoryGirl.define do
factory :cart do
user_id { Faker::Number.number(3) }
end
end
当我输入控制台 rspec spec/models/cart_spec.rb 时:
config/initializers/cassandra.rb:25:in `initialize': undefined method `[]' for nil:NilClass (NoMethodError)
from config/initializers/cassandra.rb:59:in `new'
from config/initializers/cassandra.rb:59:in `block in <top (required)>'
from lib/cassandra_utils/connector.rb:13:in `configure'
from config/initializers/cassandra.rb:58:in `<top (required)>'
from .rvm/gems/ruby-2.1.5/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:223:in `load'
from .rvm/gems/ruby-2.1.5/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:223:in `block in load'
from .rvm/gems/ruby-2.1.5/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:214:in `load_dependency'
from .rvm/gems/ruby-2.1.5/gems/activesupport-4.0.9/lib/active_support/dependencies.rb:223:in `load'
我该如何解决这个问题?
谢谢
【问题讨论】:
-
查看
config/initializers/cassandra.rb:25,看看为什么你调用 [] 的东西是 nil.... -
这是 cassandra 的联系点:
@hosts = (ENV['IC_CONTACT_POINTS'] || cassandra_config['IC_CONTACT_POINTS']).to_s.split(',')
标签: ruby-on-rails ruby rspec