2011-02-08 62 views
1

如果您正在嘗試進行測試驅動開發,編寫測試以在編寫模型時檢查模型的列類型是否理智?TDD Django模型

就像在你寫你的模型之前,你寫一個測試並說我想要一個ID字段是一個整數字段。

回答

6

我認爲在一般情況下測試應用程序測試中的底層框架有點矯枉過正。除非您懷疑它沒有經過很好的測試,並且/或者它可能會有很大的變化(比如說,您是通過針對主幹進行開發而生存的),否則應該是一個合理的假設,即您的框架將按照公佈/記錄的方式運行。

5

不應該測試測試功能,而不是實現?換句話說,測試該字段可以存儲整數,而不是它是一個IntegerField。然後,如果將其更改爲BooleanField,則測試將失敗(假定不進行強制轉換),但如果將其更改爲FloatField,則測試仍會傳遞,因爲它仍可以存儲整數。

2

如果你不想讓自己變得瘋狂,那麼你應該關注那些能夠真正幫助你的測試。測試id列是一個整數不是測試你的代碼,而是測試Django。即使測試這個「主題」是一個字符串字段也沒有多大幫助。測試模型可以做他們必須做的事情。