1
我需要從我的控制器下載一個頁面,並使用Webclient來做到這一點,這不是可以模擬的?我如何測試這個問題或者我可以在那裏留下直接參考?可以從我的MVC控制器引用WebClient嗎?
我需要從我的控制器下載一個頁面,並使用Webclient來做到這一點,這不是可以模擬的?我如何測試這個問題或者我可以在那裏留下直接參考?可以從我的MVC控制器引用WebClient嗎?
您可以定義一個存儲庫接口,並在此存儲庫的實現中使用WebClient。然後你的控制器將與存儲庫一起工作,因爲它是一個接口,它很容易被嘲弄。現在你會說這只是委託單元測試現在使用WebClient的存儲庫的實現問題,而這個問題不是可以模擬的。這個問題的答案是,這不再是一個單元測試,並坦率地說,測試這樣的方法:
public string FetchData(string url)
{
using (var client = new WebClient())
{
return client.DownloadString(url);
}
}
沒有太大的意義,因爲你正在測試WebClient類,我希望已經被完成其作者在雷德蒙德。