2017-07-21 32 views
2

我正在研究對數據庫有巨大依賴性的C++應用程序。如果我需要實現自動化單元測試,最好的選擇是什麼?數據庫相關應用程序的自動單元測試

  1. 在您的測試功能需要的DB和呼叫測試功能中插入虛擬數據。
  2. 模塊化DB操作代碼和處理代碼,但在傳統代碼中可能不可行。
  3. 覆蓋數據庫操作,以便返回特定的數據而不是實際的數據庫命中;看起來複雜。

回答

1

理想情況下,單元測試不會與數據庫進行交互,因爲您希望單元測試快速且獨立(FIRST原則),所以這些將成爲集成測試。 這可能只有在對象與數據庫交互清晰分離的情況下才有可能。 可能值得考慮的一個好的折中辦法是在內存數據庫中使用單元測試,因爲這樣可以使測試快速運行,並允許在測試之間保留數據的靈活性。

關鍵要考慮的是如何以及何時重置數據庫以確保測試是獨立的並且可以以任何順序運行,除非您專門編寫測試以按給定順序運行。

然後可能使用實際數據庫編寫集成測試以獲得完整性。