簡體   English   中英

使用Entity Framework對void方法進行單元測試

[英]Unit Testing of void methods using Entity Framework

我正在努力熟悉單元測試。 我編寫了一個小應用程序,它解析來自Internet的數據並將其存儲到數據庫中。 為此,我正在使用實體框架。

由於許多方法都是無效的方法,如

public void UpdateSiteValue(Site site, ObjectContext context)

此方法可用於更新db中的某些值。 所以我基本上想知道如何從單元測試的角度來處理這個問題。 也許我可以模擬對象上下文?

將不勝感激任何意見。

這取決於你正在測試什么。

由於您返回void,您無法測試函數的返回 - 所以您是否要測試您的方法是否會實際在數據庫中進行更改? 如果是這樣,那么模擬您的上下文不是最佳解決方案,因為您沒有測試實際代碼。 Ladislav Mrnka發表了一篇很好的文章 您可以將測試包裝在事務范圍內,然后再進行回滾嗎? Id會增加,但至少你會測試一切。

或者,如果您想測試您的方法正在做的一切 - 直到您到達數據庫層,有幾種方法可以解決這個問題。 建議的很多東西是使用存儲庫模式,因此您在測試中沒有依賴EF。 Truewill也就此發表了一篇好文章 他還使用您可能認為相關的內存ObjectContext鏈接到有關此內容的MSDN文章

這里有一些關於單元與功能與集成測試的更一般的閱讀 ,可以提供幫助。

暫無
暫無

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

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