簡體   English   中英

如何對集合的保存進行單元測試

[英]How to unit test the saving of a collection

我正在嘗試為將多個記錄保存到數據庫中的方法編寫單元測試。 該方法傳遞一個集合參數。 該方法循環遍歷該集合。 設置與該對象關聯的用戶標識,並在數據庫中更新記錄。 這是為集合中的每個對象完成的。 關於如何創建單元測試除了寫入數據庫之外的任何想法。

謝謝,

如注釋中所述,您可以選擇通過某個接口抽象數據庫操作。 如果使用ORM,則可以實現通用存儲庫,如果使用普通ADO.NET,則可以實現類似事務腳本的操作。

另一種選擇是使用SQLite內存數據庫。 目前尚不清楚您使用的是什么數據庫接口,但.NET中的大多數數據庫訪問方法(包括實體框架)都支持SQLite。 這不完全是一個單元測試,但它完成了這項工作。

正如評論中所建議的那樣,您有兩個選擇

  • 為實際寫入數據庫創建抽象,並驗證與該抽象的交互是否與您對方法的預期一致。 這將為您提供快速的單元測試,但您仍然必須為實現抽象的實現編寫集成測試,這實際上將數據放入數據庫中。 要驗證交互,您可以使用模擬庫,也可以創建僅用於測試的接口實現。
  • 創建一個集成測試,寫入數據庫並驗證數據是否按預期插入。 這些測試會更慢,但會讓您確信數據實際上會放在數據庫中。

我的偏好是第二個選項,因為這會測試數據實際上是否會被正確保留,最終你必須要做的事情,但不是每個人都喜歡這樣做。

暫無
暫無

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

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