所以我对测试很新,我从来没有做过很多,所以我可能缺乏一些基础知识。如何用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即使在你编辑问题后,答案也是一样的 - 使它们非静态并向控制器注入另一个类实例 –