2016-09-21 54 views

回答

1

這真的太籠統了,如果你的模型包含數據操作邏輯,那麼就沒有必要對真實的數據庫進行測試。邏輯可以通過配置假數據,調用操作方法和驗證輸出來驗證。不過,您的模型必須以支持此方式的方式進行設計。如果模型方法負責從數據庫中提取數據,操作數據,然後保存數據,則需要重構數據以隔離這三種不同的操作。

測試您的代碼是否與實際特定版本的數據庫一起工作也是必要的,但大多數應用程序邏輯應該能夠在單元測試級別進行驗證。

enter image description here

Mike Cohn's test pyramid視覺上描述了這一概念。大多數自動化驗證應儘可能在最低級別進行。集成測試(您的應用程序到MySQL)是必要的,但應該只涵蓋實際的集成並且不要過度運用應用程序邏輯。這是因爲集成測試更難以維護,並且因爲使用外部資源而變得更慢。如果您在共享環境(jenkins)上測試,那麼在管理資源時經常會遇到操作問題。