所以我對測試很新,我從來沒有做過很多,所以我可能缺乏一些基礎知識。如何用Moq位置/過程進行單元測試
問題1: 我正在使用ASP MVC4並希望使用Moq與我的單元測試用例。閱讀後有很多例子,我看到我有一個接口。這應該去哪裏?在控制器文件夾中,測試項目?
問題2 如果我測試我控制器的方法,它有我怎麼會起訂量是
public ActionResult Index()
{
var model = new myModel();
var pList = new List<myModel.pType>();
var sList = new List<myModel.sType>();
var results = Class1.FetchPData(); // how would I mock this
var result1 = Class1.FetchSData(); // how would I mock this
for (int i = 0; i < results.Count(); i++)
{
... do stuff
}
for (int j = 0; j < result1.Count(); j++)
{
..do stuff
}
return View("Index", model);
}
請問我要創建另一個方法,其中包含相同的分貝多個呼叫邏輯,但是我必須傳入「模擬對象」作爲方法的參數,並將其作爲我的界面中的可實現方法?或者重新實施我的方法?
好吧,我明白知道。所以在將來,我應該用一種也可以輕鬆模擬的方式編寫我的方法 –
我應該提到'FetchPData'和'FetchSData'實際上是從另一個類調用的靜態方法。 –
@JackThor即使在你編輯問題後,答案也是一樣的 - 使它們非靜態並向控制器注入另一個類實例 –