0
這裏的時候是我的規格和類的代碼規範失敗如果該方法在屬性書籍使用值初始化之前被調用。有人能向我解釋這裏發生了什麼?RSpec的試圖調用方法上的初始化屬性
這裏的時候是我的規格和類的代碼規範失敗如果該方法在屬性書籍使用值初始化之前被調用。有人能向我解釋這裏發生了什麼?RSpec的試圖調用方法上的初始化屬性
no_books?
你的no_books?
實現直接在它的檢查中使用實例變量,繞過你的存根。如果您更改no_books?
以返回books.empty?
,它將調用存根。
如果你真的,真的想用實例變量來,你可以在@game
通過instance_variable_set
設置這樣的:
@game.instance_variable_set("@books", [])
你應該警惕寫這樣的測試,與內部處理對象的運作。這些往往是脆弱的(如果它做同樣的事情,但以不同的方式,那麼當他們不應該時測試會失敗,或者當他們應該通過時測試會失敗)。在大多數情況下,我認爲對被測試對象進行存根很少有必要。 –