我有一個抽象的Record類,它代表數據庫中的記錄。每個記錄必須至少包含以下列:id,已創建,已更新。單元測試擴展類基本功能
然後我擴展Record類以表示特定表中的行。例如,我有以下類擴展記錄:客戶,工作,位置和公司。在每一個我定義一個靜態「table_name」變量和靜態變量代表他們的列。
我希望能夠測試這些類的基本功能,記錄的所有擴展應該有。我可以爲每個測試類寫一個測試類來測試這些東西,但我基本上是複製和粘貼每個Record類的擴展的測試,看起來不正確。
我想過編寫一個測試類,並在數組中使用這些對象的數據提供者,但是如果出現失敗的測試,我不知道哪個對象會導致失敗。
需要有某種TestAllExtensionsOfRecordClass測試類的方法,然後通過它運行我的對象並能夠分辨哪個對象導致失敗。
對此提出建議?
如果您要測試的是抽象類功能 - 只需創建一個存根類並對其進行測試即可。對於特定的類只測試其特定的實現,假設基礎實現已經過測試。 – zerkms 2013-04-25 22:01:26
不理解您將列變量設置爲靜態的選擇。這將使單元測試變得困難。如果每個Record子類都是獨立的,那麼您將分別測試每個獨立的子類,但是您至少會有一組測試基類功能的測試。您不會在每個子類中重複測試「id」或「created」。 – 2013-04-26 18:15:29