2011-12-09 17 views
0

在下面的代碼中,錯誤支持無效嗎?Rails3 - 測試 - 什麼是關係錯誤和無效?

換句話說是無效的?錯誤清單是否爲真

或無效?獨立工作?

測試 「的產品屬性,不能爲空」 做產品= Product.new

斷言product.invalid? assert product.errors [:title] .any? assert product.errors [:description] .any?

assert product.errors [:price] .any?

assert product.errors [:image_url] .any? 端

另外,也可以假設我:

功能測試(對於控制器)的開發過程中在運行時執行對於用戶來說, 而單元測試(適用於/數據庫)是用於使用

謝謝! strong text

+0

每個測試都爲開發者運行。運行時不運行測試。該代碼對用戶應該是穩定的。但是,功能測試「模擬用戶」(單擊,填充輸入等),單元測試檢查模型,關係和內部業務邏輯。 –

回答

0

測試在開發過程中運行,試圖確保您生成的代碼儘可能沒有錯誤。

單元測試檢查小部分代碼(例如單一模型),而功能測試檢查需要幾個步驟(例如「簽名」過程)的「功能」。

valid?函數本質上使模型通過定義的驗證器,並檢查是否存在錯誤。換句話說,如果@user.errors數組(例如)包含entires,則valid?將返回false。

但再一次,測試用於檢查您是否正確開發代碼,並且不會在生產中運行。

相關問題