[英]UnitTest a function with a DbContext as parameter
嘿,我試着測試這個功能。
編輯:
目標是編寫一個測試,檢查驗證功能是否正常工作。
我剛開始進行單元測試。
我已經嘗試過嘲笑上下文,但這不是解決方案。
它沒有用,或者我做錯了。 (連接字符串錯誤)
這個問題的正確方法是什么?
你有什么主意嗎 ?
謝謝你的幫助。
public static string validate(ProductDBEntities _db)
{
List<string> errorList = new List<string>();
foreach (var error in _db.GetValidationErrors())
{
errorList.Add(error.ValidationErrors.FirstOrDefault().ErrorMessage);
}
if (errorList.Count > 0)
{
string errors = string.Join("\n", errorList);
return errors;
}
return "";
}
能夠在驗證內部對邏輯進行單元測試的最簡單的解決方案可能是:
public static string validate(List<SomeErrorMessageThing> validationErrors) //Whatever type var error is
{
List<string> errorList = new List<string>();
foreach (SomeErrorMessageThing error in validationErrors)
{
errorList.Add(error.ValidationErrors.FirstOrDefault().ErrorMessage);
}
if (errorList.Count > 0)
{
string errors = string.Join("\n", errorList);
return errors;
}
return "";
}
然后你不必模擬任何東西,你可以從測試中發送手工制作的validationErrors列表
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.