Ruby Noob-私はSOを検索し、Rails Guide on Testingを読み、運が悪かったのでRailsCastを見ました。
メソッドの関連付けを、自分が作成したテストと調整できません。現在(以下のコード)、名前の存在をチェックするテストと電子メールの存在をチェックするテストの両方で、失敗やエラーなしで合格します。
モデルから両方の検証ステートメントを削除すると、両方のテストが失敗します。これも理にかなっています。
ただし、どちらか一方だけを削除すると
validates :name, :presence => true
また
validates :email, :presence => true
モデルから、両方のテストが失敗することなく合格します。この結果は私には意味がありません。誤ったテストを作成しましたか?
user.rbモデル:
class User < ActiveRecord::Base
attr_accessible :email, :name
has_many :connections
validates :name, :presence => true
validates :email, :presence => true
end
test / unit / user_test.rb
require 'test_helper'
class UserTest < ActiveSupport::TestCase
test "a user should have a name" do
user = User.new
assert !user.save
end
test "a user should have an email" do
user = User.new
assert !user.save
end
end