用戶數據驗證



before { @user = User.new(name: "Example User", email: "[email protected]") }
    #在各測試用例之前執行塊中的代碼,本例中這個塊的作用是爲
    # User.new 傳入一個合法的初始 Hash 參數,創建 @user 實例變量


    subject { @user } #把 @user 設爲這些測試用例默認的測試對象


    it { should respond_to(:name) }
    it { should respond_to(:email) }
    #兩個測試用例對 name 和 email 屬性的存在性進行了測試


@user.respond_to?(:name)
在 RSpec 中可以寫成


it "should respond to 'name'" do
  expect(@user).to respond_to(:name)
end


驗證值不能爲空:presence
app/models/user.rb中
class User < ActiveRecord::Base
  validates :name, presence: true
end
在測試文件中
it {should be_valid}
    describe "when name is not present" do
      before{@user.name=""}
      it{should_not be_valid}
驗證字符串長度length
validates :name, presence: true,length{maximum:12}
發佈了26 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章