2013-11-27 38 views
-2

我有一个名为User模式和另一种模式Stb,当我在Stb模型试验,我不得不创建一个User实例。 当我运行测试文件spec/models/stb_spec.rb独立时,所有测试都过去了。 当我运行所有测试一起想:Rspec的“未定义的方法`[]”为无:NilClass”中的Rails 3.2.8

bundle exec rake db:test:prepare && bundle exec rspec spec/ 

存在的一些不好:

Failure/Error: user.save 
    NoMethodError: 
     undefined method `[]' for nil:NilClass 

User型号是:

class User < ActiveRecord::Base 
    acts_as_authentic { |c| } 
    acts_as_paranoid 
    attr_accessible :name, :login, :password, :password_confirmation, :registed_by 

    has_many :user_stbs, :dependent => :nullify 
    has_many :stbs, :through => :user_stbs 
    has_many :feedbacks 

    def has_record(program_asset_id) 
     UserAsset.where(:uap_open_id => self.uap_open_id, 
         :asset_id => program_asset_id).first 
    end 

    ...... 
end 

规格/型号/ stb_spec.rb是:

describe Stb do 
    before :all do 
     @stb = FactoryGirl.create(:stb) 
     user = User.new(:name => "Name", :login => "ccttsdf343", 
         :password => "111111", :password_confirmation => "111111") 
     user.save 
    end 
end 

和我的Gemfile是:

# source 'https://rubygems.org' 
source 'http://ruby.taobao.org/' 

gem 'rails', '3.2.8' 

gem 'mysql2' 
gem 'authlogic' 
gem 'redis', '~> 3.0.1' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
    gem 'compass-rails' 
end 

gem 'jquery-rails', '~> 2.1.4' 

group :test do 
    gem 'rspec-rails', '~> 2.10.0' 
    gem 'pry' 
    gem 'pry-remote' 
    gem 'pry-stack_explorer' 
    gem 'pry-debugger' 
    gem 'factory_girl_rails' 
    gem 'db_fixtures_dump' 
    gem 'simplecov', '~> 0.8.1' 
    gem 'syntax', '~> 1.0.0' 
end 

group :development do 
    gem 'debugger' 
    gem 'factory_girl_rails' 
    gem 'rspec-rails', '~> 2.10.0' 
    gem 'sqlite3' 
    gem 'annotate', :git => 'git://github.com/jeremyolliver/annotate_models.git', :branch => 'rake_compatibility' 
    gem 'turn', :require => false 
    gem 'factory_girl_rails' 
    gem 'rspec-rails', '~> 2.10.0' 
end 
gem 'capistrano' 
gem 'rvm-capistrano' 

gem "acts_as_paranoid", "~>0.4.0" # for Rails 3.2 
gem 'paperclip' 
gem 'eventmachine' 
gem 'json' 
gem 'uuid' 
gem 'whenever', :require => false 
gem 'kaminari' # paginator 

gem 'dalli' 
gem 'redis', '~> 3.0.1' 
gem 'hiredis' 
gem "x_runtime", :git => "https://github.com/charlescui/x_runtime.git" 
gem "em-apn" 
gem "em-http-request" 
gem "async_sinatra" 
gem "mongoid" 
gem "mongoid-paperclip", :require => "mongoid_paperclip" 
gem "bson_ext" 
gem 'rack_logger' 
gem 'rack-fiber_pool', :git => "git://github.com/alebsack/rack-fiber_pool.git" 
gem 'sad', '>=1.5.18' 
gem 'blather' 
gem 'rest-client' 
gem 'digest-crc' 
gem 'virtus' 
gem 'rainbows' 

回答

0

之前,尽量改变:所有前:每个

相关问题