0

所以我一直在为此绞尽脑汁,也许你们中的一些人可能对如何为这个用户模型进行适当的单元测试有更好的想法。我的基本单元测试如下所示。

test "should not save without name" do
  user = User.new
  user.email = "test@test.com"
  user.password = "letmein"
  assert !user.save
end

此模型通过此测试。

class User < ActiveRecord::Base
  include Clearance::User

  validates :name, presence: true

  has_and_belongs_to_many :contests
end

在 Clearance 中是否有更好的方法来做到这一点?很高兴 gem 可以让您通过任意分配电子邮件和密码来即时创建这样的用户,但我想也许我不应该这样做。

4

1 回答 1

1
user = User.new(:email => "test@test.com", :password => "letmein")

接着,

assert !user.valid?

或者

user.should_not be_valid

或者

expect { user.save }.to change(User, :count).by(0)
于 2013-08-17T14:07:07.493 回答