Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 4 Rails测试ActiveRecord错误_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 4 Rails测试ActiveRecord错误

Ruby on rails 4 Rails测试ActiveRecord错误,ruby-on-rails-4,Ruby On Rails 4,我在rails应用程序中启动了测试环境,当我使用默认代码测试用户模型时,它抛出以下错误: 测试代码: test "the truth" do assert true end 1) Error: UserTest#test_the_truth: ActiveRecord::RecordNotUnique: Mysql2::Error: Duplicate entry '' for key 'index_users_on_email': INSERT INTO `users` (`created

我在rails应用程序中启动了测试环境,当我使用默认代码测试用户模型时,它抛出以下错误:

测试代码:

test "the truth" do
 assert true
end

1) Error:
UserTest#test_the_truth:
ActiveRecord::RecordNotUnique: Mysql2::Error: Duplicate entry '' for key 'index_users_on_email': INSERT INTO `users` (`created_at`, `updated_at`, `id`) VALUES ('2014-02-01 17:45:51', '2014-02-01 17:45:51', 298486374)
在我的用户模型中,我有以下关联

devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable
validates :user_name , :email, :first_name ,:last_name , :presence => true
has_many :invitations
has_many :incoming_friends, -> { where(:status => '1') }, :class_name => "User", :foreign_key => "friend_id", :through => :invitations
has_many :outgoing_friends, -> { where(:status => '1') }, :class_name => "User", :foreign_key => "user_id", :through => :invitations
首先,在test/fixtures/users.yml中检查您的用户模型fixture。如果有1和2的空声明:

它可能会导致问题,因为缺少属性。删除此部分或对其进行注释:

#one: {}
# column: value
#
#two: {}
#  column: value
然后再试一次

#one: {}
# column: value
#
#two: {}
#  column: value