Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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 从单元测试调用模型方法_Ruby On Rails_Unit Testing_Devise - Fatal编程技术网

Ruby on rails 从单元测试调用模型方法

Ruby on rails 从单元测试调用模型方法,ruby-on-rails,unit-testing,devise,Ruby On Rails,Unit Testing,Devise,我正在为我的模型添加单元测试,但在对gem'designe'提供的用户模型进行测试时遇到问题。这是我的测试代码: require 'test_helper' class UserTest < ActiveSupport::TestCase test "should not save user without name" do user = User.new user.email = "david@test.com" user.password = "

我正在为我的模型添加单元测试,但在对
gem'designe'
提供的用户模型进行测试时遇到问题。这是我的测试代码:

require 'test_helper'

class UserTest < ActiveSupport::TestCase
  test "should not save user without name" do    
    user = User.new

    user.email = "david@test.com"
    user.password = "david123"

    assert !user.save, "Saved user without name"
  end
end

显然,designe提供的密码方法没有被调用。运行此测试的正确方法是什么?

刚刚发现问题不在于测试代码,而是我在Fixture for User中为密码设置了一个值

  1) Error:
test_should_not_save_user_without_email(UserTest):
ActiveRecord::StatementInvalid: PG::Error: ERROR:  column "password" of relation "users"  does not exist
LINE 1: INSERT INTO "users" ("name", "email", "password", "created_a...
                                          ^
: INSERT INTO "users" ("name", "email", "password", "created_at", "updated_at", "id") VALUES ('David', 'david@test.com', 'david123', '2012-11-25 17:43:02', '2012-11-25 17:43:02', 127326141)