Given this model: class Organization < ActiveRecord::Base has_many :users validates :name, :presence => true validates :subdomain, :presence => true validate :has_at_least_one_user private def has_at_least_one_user errors.add(:users, "Must have at least one user.") unless users.length > 0 end end And this set of examples: require ''spec_helper'' describe Organization do before do @organization = Organization.new(name:"an org", subdomain:"anorg") end it ''is valid with valid attributes'' do @organization.users << mock_model("User") @organization.should be_valid end it ''is not valid without an organization name'' do @organization.name = nil @organization.should_not be_valid end it ''is not valid without a subdomain'' do @organization.subdomain = nil @organization.should_not be_valid end it ''is not valid if subdomain is not unique'' it ''is not valid without at least one user'' do @organization.users = [] @organization.should_not be_valid end end I get this failure: Failures: 1) Organization is valid with valid attributes Failure/Error: @organization.users << mock_model("User") Mock "User_1001" received unexpected message :to_ary with (no args) # ./spec/models/organization_spec.rb:9:in `block (2 levels) in <top (required)>'' Question 1: Why can''t I seem to add a mock User this way? Question 2: Are there any better ways to test/implement a model that requires at least one association? Thanks! Matt Smith