簡體   English   中英

單元測試破壞性方法

[英]Unit Testing Destructive Methods

在對模型和數據庫更改方法/函數進行單元測試時,單元測試的最佳方法或思維方式是什么? 例如,模型中的“發布”函數除了通過/失敗之外沒有可測試的行為,並且在傳遞的情況下,它修改數據庫。 最佳做法或方法?

目前的想法是在測試之前創建當前數據庫的鏡像,只需更改單元測試文件中的數據庫選擇。 謝謝你的建議。

如果你想進行單元測試(=隔離測試):

  • 業務邏輯將針對假數據庫執行(存儲庫模擬)
  • 測試檢查業務邏輯是否真的調用了存儲庫刪除方法。

如果您想要與業務邏輯和數據庫進行集成測試,則可以

  • 打開數據庫事務
  • 通過sql將數據添加到數據庫
  • 執行破壞剛剛添加的數據的業務邏輯
  • 驗證數據不再存在於數據庫中(通過sql)
  • 回滾數據庫事務。

更新:

如果你使用的是.NET,你應該看一下java dbunit的 ndbunit

如果你在.net上使用xtunit 這會將您的測試包裝在一個事務中,並在完成后將其回滾。

不要鏡像數據庫...存根。 如果您正在測試數據庫,則不進行單元測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM